2012-04-10 100 views
0

請幫我寫一個示例代碼,通過shell腳本使用expect來連接遠程系統(通過ssh)。如何在shell腳本中使用expect期望

請找到寫成如下代碼試片..

#!/bin/bash 
HOST="148.147.179.118" 
USER="root" 
PASS="spirit" 
expect -c " 
      # exp_internal 1 # uncomment for debugging 
      spawn ssh [email protected]$HOST 
      expect { 
       "*password:*" { send $password\r\n; interact } 
       eof { exit } 
      } 
      exit 
     " 

正在錯誤「*沒有發現命令*,提示輸入密碼,密碼給予後連接到系統,但沒有返回從遠程系統。

誰能幫我一些解決方案。

+0

看看這裏:http://stackoverflow.com/questions/5174813/use-expect-in-shell-script – 2012-04-10 14:06:30

+0

如果你在這裏沒有做任何其他的事情,可以使用SSH密鑰。 – 2012-04-10 16:41:45

回答

1

別的不說,讓我注意,您必須「標記的腳本中,所以你不能真正期待把整件事打包在裏面「馬克可以嗎?

我可以建議使用shell「HERE」文件嗎?如果您不熟悉它們,請閱讀<<運算符的shell手冊頁。