while和ssh使用遇到的坑

2021-07-04 05:09:45 字數 539 閱讀 4816

最近在寫shell指令碼的時候,有個功能,通過while逐行讀取文字中的內容,然後使用ssh到其他機器上進行命令操作,結果奇怪的現象出現了,無論我怎麼弄,這傢伙總是讀取一行,其他的都不讀取了,結果通過google,查詢得到while和ssh一起用確實有此問題,通過while的時候,再使用ssh,所有的內容都一起讀取出來寫到快取裡面了,重定向出去了,下次再讀必然就沒有了,坑人啊。。

處理辦法有兩個,乙個是通過-n選項處理,**如下:

while read debug_log ; do

ssh -o stricthostkeychecking=no -n ip "ls -l /root/log/*.log"

done

第二個辦法是重定向輸入,**如下

while read debug_log ; do

ssh -o stricthostkeychecking=no ip "ls -l /root/log/*.log" < /dev/null

done

如何在while和for中使用ssh

最近在寫乙個自動更新的shell,可是發現如果在使用while迴圈從乙個檔案中讀取ip位址,然後訪問就只能讀取第一行紀錄。如下 while read line doecho line ssh 192.168.10.233 ls done data 但是如果使用for就沒有這個問題,非常的奇怪,for...

CURL使用和遇到的坑

帶參 curl http xx?name value name2 value2 不帶參 curlcurl http localhost 8000 w d.html?pr 3 rqc 10 無論windows linuxcurl這樣子居然帶不上第二個引數,實際服務端只接收到第乙個,第二個丟失了,真是坑...

docker簡單使用和遇到的坑

安裝環境 alios7.2 安裝 1安裝源 yum install epel release y yum clean all yum list 2 安裝docker yum install docker io y systemctl start docker 3 檢查docker docker in...