日期:2014-05-16  浏览次数:20677 次

脚本执行完不退出,请大牛给看看
a.sh:

#非root用户登录,用root用户去执行 c.sh
b.sh $dev_dir $root_pwd c.sh

b.sh

#!/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 "$password\n"
    }
}
expect eof
interact


c.sh

各种安装脚本,:包括安装数据库 ,jdk,tomact,还有一些自己的产品
最后一行:
echo:  SUCCESS


奇怪的现象:当脚本执行完 echo:  SUCCESS就停了,一直在等待状态。
直接用root用户去执行c.sh 不会出现这样的情况。此脚本必须要root用户才能执行。
在此先谢了

------解决方案--------------------
应该是b.sh的问题. interact这个词是必需的吗?
------解决方案--------------------
在 SUCCESS 下一行加个  exit 看看.