0
我已經運行了一個奇怪的問題與我寫的期望腳本。基本上,我有服務器A和服務器B.服務器B只能通過telnet從服務器A訪問(不要問...)。當使用交互時,期望腳本只給出輸出
這意味着,我SSH到服務器A,telnet到服務器B,然後運行命令獲取指定用戶的信息負載。現在,當我在最後放置「交互」時,腳本正常工作,但是當我刪除它時,腳本不再給出輸出結果。這裏是粗糙的腳本,它只是一個驗證的概念,現在這樣忽視的事實沒有錯誤/條件語句等:
#!/usr/bin/expect -f
log_file "/tmp/temporarylog.log"
set timeout 30
set user [lindex $argv 0]
# connect to server A
send_user "Connecting to server A...\n";
spawn ssh [email protected]
expect "assword: "
send "password123\n"
expect "# "
send "telnet serverb.com 6002\n"
expect "> "
send "login passwordabc\n"
send "user info $user\n"
# removing this line results in no output
interact
運行上面的腳本給我所有的用戶信息的。刪除'交互'腳本似乎telnet到serverb.com,但不使用'登錄'或'用戶信息'。
交互是腳本的最後部分,所以它讓我感到困惑,爲什麼它在它之前破壞事物 - 這是我的第一個期望腳本。
任何幫助表示讚賞。