Chinaunix

标题: 怎么样才能在shell脚本里面执行su ? [打印本页]

作者: Givemefive    时间: 2007-03-26 14:42
标题: 怎么样才能在shell脚本里面执行su ?
刚接触shell脚本,想在脚本里面执行su命令,怎么才能实现?

因为在用su的时候,存在要求输入密码..怎么才能和它交互?
作者: njmarshal    时间: 2007-03-26 17:32
标题: 回复 1楼 Givemefive 的帖子

  1. echo 'passwd'| sudo -S command

复制代码

[ 本帖最后由 njmarshal 于 2007-3-26 17:34 编辑 ]
作者: candycuckoo    时间: 2007-03-26 17:40
楼上能否说得再具体一点?
作者: wuyanxiao    时间: 2009-04-24 09:13
BASH 中提供另外一种称为 here documents 的结构,可以将用户需要通过键盘输入的字符串改为从程序体中直接读入,如密码
例如:
#!/bin/bash

passwd="aka@tsinghua"
ftp -n localhost <<FTPFTP
user anonymous $passwd
binary
bye
FTPFTP

exit 0

这个程序在用户需要通过键盘敲入一些字符时,通过程序内部的动作来模拟键盘输入。请注意 here documents 的基本结构为:

command <<SOMESPECIALSTRING
statments
...
SOMESPECIALSTRING

这里要求在需要键盘输入的命令后,直接加上 <<符号,然后跟上一个特别的字符串,在该串后按顺序输入本来应该由键盘输入的所有字符,在所有需要输入的字符都结束后,重复一遍前面 <<符号后的“特别的字符串”即表示该输入到此结束。
作者: ywlscpl    时间: 2009-04-24 09:29
楼主是想不交互吧?
作者: waker    时间: 2009-04-24 09:46
http://bbs2.chinaunix.net/viewth ... p;page=1#pid4559521
作者: licong_jay    时间: 2009-04-24 11:12
四楼说的很清楚,学习了!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2