无法在expect脚本中执行bash脚本

无法在expect脚本中执行bash脚本

我有一个像这样的期望脚本

#!/usr/bin/expect
.....
spawn passwd
expect "password:"
send "password"
....
....
....
~/test.sh

在执行此操作时,我无法运行 bash script test.sh

如何在 Expect 脚本中执行 Linux 命令/bash 脚本?

答案1

您可以使用 tclexec命令,该命令通常会收集输出,因此将其重定向:

#!/usr/bin/expect
...
exec ~/test.sh  >@stdout

答案2

首先,您应该使用spawn来运行您的脚本,并且我不确定波形符构造是否会被期望解释。

spawn /bin/bash /home/username/test.sh

发生这种情况时,您应该会收到错误消息,如果您不理解它们,则应该将其添加到您的问题中。

相关内容