当前位置: 技术问答>linux和unix
关于普通用expect执行需要root权限的脚本,输出root密码问题
来源: 互联网 发布时间:2017-05-04
本文导语: #!/usr/bin/expect set path [lindex $argv 0] set password [lindex $argv 1] set filename [lindex $argv 2] spawn su root -c "$path/$filename" expect { "*:" { send "$passwordn" } } expect eof interact 执行脚本的时候会把root密...
#!/usr/bin/expect
set path [lindex $argv 0]
set password [lindex $argv 1]
set filename [lindex $argv 2]
spawn su root -c "$path/$filename"
expect {
"*:"
{
send "$passwordn"
}
}
expect eof
interact
执行脚本的时候会把root密码输出到控制台。用root去执行这个脚本的时候不会输出密码。
|
看到你的问题,我也学习了下。给你个我刚才自己查到的内容,希望对你有帮助。
参照:http://www.360doc.com/content/12/1004/20/10740921_239491309.shtml
参照:http://www.360doc.com/content/12/1004/20/10740921_239491309.shtml
|
因为root用户执行su root -c的时候,不需要输入密码,脚本里面期待的字符串 *: 是不会出现的,它里面的命令自然不会被执行。