希望你一切安好!預期腳本 - 從某個點開始記錄,並在某個點停止
我最近已經開始爲我們的一些網絡工程師使用一些小工具。它的功能是檢索電路信息,然後解析並輸出一個很好的格式。當然,其中一部分涉及SSH連接到所需的盒子並運行命令以生成所需的輸出。
這是我目前得到的腳本。它工作正常,運行所需的命令,發送一些空格來提示系統顯示更多電路,然後通過退出完成。所有這些都被記錄到一個名稱與該主機名相同的文件中。大。
但是,當我讀取生成的文件並看到它包含大量數據時,包括我運行的命令和連接上提供的不必要的統計數據,我的問題就很明顯。我只是在發出命令時纔開始尋找記錄,並在之後切斷記錄。由於我不熟悉期望,我非常感謝任何指導。
PS。道歉,如果我做了什麼愚蠢的事情;我對這門語言本身相當陌生,而且那裏的支持也不是那麼好。
謝謝。
set ip [lindex $argv 0]
set hostname [lindex $argv 1]
set timeout 10
set user ""
set password ""
# Spawning the ssh session
spawn ssh $ip -l $user
# Awaiting prompt for password
expect "[email protected]$ip's password:"
sleep 1;
# Awaiting prompt
send "$password\n"
sleep 2
log_file -noappend $hostname;
send "terminal length 0\n"
sleep 1
send "show int desc\n"
sleep 5
send "exit\n"
interact
exit
在每個'send'命令後添加'expect'語句,如果絕對必要的話使用'sleep'。說,它有所有輸出,你的意思是記錄從ssh登錄本身的開始開始? – Dinesh 2014-11-05 14:16:04