[英]Executing a command via SSH during a while loop
我在一個我稱之為“框”的文件中有一個服務器列表。
我正在運行以下內容:
bastion:~ # while read i j; do ssh -n $i 'echo $(hostname)'; done < boxes
當我運行它時,我應該得到我應該通過 SSH 連接到的每個盒子的主機名,對嗎? 但是我得到的是我的主機名一遍又一遍地“堡壘”,就好像命令沒有通過 SSH 連接到任何盒子一樣。
知道為什么會這樣或者我在這里做錯了什么嗎?
謝謝。
編輯:我無法讓 SSH 來完成這項任務。 最后我把 ssh 換成了 ansible -m shell。
hostname
就足夠了
我最喜歡的 GNU Parallel 解決方案(更快) sudo apt-get install parallel
parallel --nonall --slf boxes hostname
您可以添加--tag
等等https://www.gnu.org/software/parallel/parallel_tutorial.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.