2017-02-18 162 views
1

的期望腳本返回無效的命令,而我試圖通過ssh無效的指令錯誤「的mkdir」,而excuting #expect腳本

這是下面的錯誤我

invalid command name "mkdir" 
    while executing 
"mkdir new" 
    (file "./connecttotravalour.exp" line 8) 
登錄到服務器後,創建一個文件夾

而且我期待的腳本代碼:

#!/bin/bash 
#connect to travalour host 

spawn ssh [email protected] 
expect "password" 
send "[email protected]\r" 
interact 
mkdir new 
+0

試試這個http://askubuntu.com/questions/703754/how-to-do-more-with-an-expect-script-than-just-a-log-in – jophab

回答

0

發佈的問答形式askubuntu類似的問題

的主旨期待編程發送,並期望對:你發送一些文字產生的進程,並期望響應。在這種情況下,您發送的mkdir命令,並希望看到你的提示,知道命令已完成。提示最適合作爲正則表達式來匹配它的結尾。由於提示是這樣配置的,你可能要編輯提示表達式:這一個文字美元符號,並在字符串末尾的空間相匹配。

#!/bin/bash 
#connect to travalour host 

spawn ssh [email protected] 
expect "password" 
send "[email protected]\r" 
set prompt_re {\$ $} 
expect -re $prompt_re 
send "mkdir -p new" 
expect -re $prompt_re 
interact 
+0

你的代碼工作parshually ,現在我連接到我的服務器和命令現在顯示像 終端「travalour @ tRAVALOUR-SVR:〜$的mkdir -p新的」 當我按下輸入新的目錄中創建的,我需要做的是還可以通過外殼.. –