Bash期望在同一进程中有两个命令

时间:2016-07-28 15:46:44

标签: bash shell expect

我试图让这件作品变得疯狂。

我需要使用expect来设置几个密码。我遇到的问题是我必须在同一个处理器中运行两个命令。

这里是代码

Relu

第一个命令将ssh-key添加到ssh-agent中,第二个命令是git clone需要在同一个进程中才能获取该代理。

查看文档和示例我无法看到期望如何在同一进程中使用两个命令。

有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

关于更好地使用ssh密钥的建议,请回答您的问题。您不需要同时与两个进程进行交互。你需要处理第一个,然后开始第二个:

expect << EOF
      spawn ssh-agent ssh-add price_aws_github
      expect "Enter passphrase"
      send "$pass\r"
      # assume this works. if not, there's more work to do
      expect eof
      close

      spawn git clone git@github/repo.git
      expect "Are you sure you want to continue connecting"
      send "yes\r"
      expect eof                 
EOF