运行预期代码时发送错误



我做了一个期望代码:

#!/usr/bin/expect -f
生成 ls
期望"*]$*"
发送"cd/to/some/path"
期望"*]$*"
发送"sudo -u root ./program.sh"
期待"*:*"
发送"i_am_password"
互动

执行它时,我收到以下错误:

生成 ls
my_pgm.exp abc.sh axyz.zip all.zip test.exp
发送:生成 ID exp6 未打开
执行
时"发送"cd/to/some/path"
(文件 "./my_pgm.exp" 第 5 行)

我在 ubuntu 上运行此代码。请帮忙。

我不确定你为什么需要期望,但对于 bash 脚本,试试这个:

#!/usr/bin/expect -f
spawn bash -i
expect "*$ "
send "cd /to/some/pathn"
expect "*$ "
send "sudo -u root ./program.shn"
expect "*: "
send "i_am_passwordn"
interact

描述

spawn指令指示预期要使用哪个程序进行交互。所以如果你想和bash互动,你必须要求expect spawn bash。用于 bash 的-i参数强制它们以交互模式启动。

总的来说,这看起来是一个非常糟糕的主意,但这只是我的意见;)

相关内容

  • 没有找到相关文章

最新更新