如何在shell脚本中打开bash / ssh会话并在远程会话中运行命令?

时间:2013-06-07 09:31:11

标签: linux bash shell ssh

我尝试在shell脚本中执行以下操作:

bash;
bash上下文中的

  • 运行./a.out

./a.out上下文中,我需要模拟keystorkes:

yes
3292
no

我该怎么办?我的所有尝试都失败,因为&&&;在主shell上下文中而不是在bash中执行后续命令。

bash && echo "yes" > /dev/console

我见过use expect in shell script使用本机shell命令没有其他选择吗?我不想依赖其他工具。

1 个答案:

答案 0 :(得分:2)

查看expect,借助用户提供的脚本与交互式程序“对话”。

<强>用法

expect ./interact

或使interact可执行文件(chmod a+x interact):

./interact

其中interact是以下脚本:

#!/usr/bin/expect
spawn ./a.out
send -- "yes\r"
expect "3292\r"
send -- "no\r"

这只是一个简单的示例,手册页中有很多深入的解释,并且还有安装附带的示例脚本。

<强>参考