如何用shell指令碼實現自動telnet

來源:互聯網
上載者:User

轉自:http://blog.csdn.net/edei2004/article/details/3694021 

很多人認為telnet象passwd和su一樣,無法通過管道和輸入轉向使其自動工作,但實際上telnet是支援輸入轉向的.雖然,嚴格的說,shell指令碼無法使telnet進入互動狀態,但它確實可你使你進入遠程系統並運行你希望的命令後退出.這遠比用rsh(remsh,rcmd)更令人放心,
使用如下的指令碼可以達到你的要求: 
(sleep 1;echo user;sleep 1; echo passwd;echo yourcmd ;sleep 1)|telnet remotehost 
其中user,passwd,yourcmd,remotehost分別更換成你的使用者名稱,使用者口令,你想要啟動並執行命令,遠程機器名或IP便可以了. 如果要想使用指令碼進入互動狀態,可以使用expect.

如果你要通過telnet某個IP的連接埠來得到部分資料,則可以用以下命令

(sleep 5;) | telnet IP PORT 這樣就可以在telnet後將PORT在5秒內輸出的資料列印到螢幕上,然後自動結束

EG:
tempValue="KEY"
str4=`(sleep 1;echo AA;sleep 1; echo 123; sleep 1; echo tail -f /aa/log/a.log;sleep 1) | telnet ${IP} | grep ${tempValue}`
num4=`echo ${#str4}`
if [ ${num4} -eq 0 ];then
     echo "==::在a.log檔案中沒有找到關鍵字KEY,請檢查!"
     sheet4="@NULL"
else
     echo "==::在a.log檔案有找到關鍵字KEY!"
     sheet4="@OK"
fi

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.