2015-04-15 59 views
-1

我試圖調用另一臺Unix機器的遠程功能(讓我們調用machine2),我需要登錄每次我想從machine1調用它。所以即時通訊用戶希望這樣做的命令。 (不要建議使用ssh密鑰,該選項會被丟棄)。預期命令不工作登錄

所以這是我的代碼:

#!/usr/bin/expect -f 
#!/bin/ksh 

ssh [email protected] data/test.sh 

expect "Password:" 

send "pass001\n" 

,這是錯誤返回:

invalid command name "ssh" 
    while executing 
"ssh [email protected] data/test.sh" 
    (file "testscript.ksh" line 4) 

----更新 - > 當我改變了代碼,並添加產卵命令,它仍然會返回一個錯誤:

新代碼:

#!/usr/bin/expect -f 
#!/bin/ksh 

spawn ssh [email protected] data/test.sh 

expect "Password:" 

send "pass001\r" 

錯誤變成:

sh: /usr/local/bin/stty: not found 
+1

預計需要你'spawn'一個過程,它可以控制的。 –

回答

1

請包括spawnspawn命令會爲您生成或啓動外部命令。在這種情況下,ssh到遠程主機(aspen):

spawn ssh aspen 
+0

試過,但沒有工作,請閱讀我的更新,謝謝! – wagger

+0

我包括產卵,仍然得到相同的錯誤...有關stty – wagger

+0

你的data/test.sh文件包含什麼 –