期望脚本不在控制台上显示脚本执行

Expect script not showing script execution on console

通过提供默认值为安装编写了 expect 脚本。它没有正确安装,并且在执行过程中,它不是控制台上的执行进度。

#!/usr/bin/expect -f

cd /opt/hyperic-hqee-agent-5.8.6
exec rm -rf data
cd bin
exec ./hq-agent.sh stop
exec ./hq-agent.sh start
expect ": $"
send "\r"
expect ": $"
send "10.152.24.109\r"
expect ": $"
send "\r"
expect ": $"
send "\r"
expect ": $"
send "\r"
expect ": $"
send "hqadmin\r"
expect ": $"
send "\r"
expect ": $"
send "\r"
expect ": $"
send "yes\r"

exec 命令 returns 标准输出。如果要打印,请使用

puts [exec external_command]

我弄错了。我应该使用 'spawn' 而不是 'exec'。它就像一个 shell 命令一样运行并且没有交互。

cd bin
spawn ./hq-agent.sh stop
expect ":$"
spawn ./hq-agent.sh start
expect ": $"
send "\r"
expect ": $"
.
..
.
interact

谢谢你帮我。