トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Linux:whileループでsshを使う場合の注意点 の変更点

Top / Linux:whileループでsshを使う場合の注意点

*Linux:whileループでsshを使う場合の注意点 [#wb318d9d]

whileでループさせる中にsshでリモートホストでコマンドを実行したい場合には、sshのオプションで「-n」を指定する必要があります。

例えば、以下の通りです。

 #!/bin/sh 
 
 while read line 
 do 
     echo $line 
     ssh root@${line} 'hostname' 
 done <<EOF! 
 hosta 
 hostb 
 hostc 
 hostd 
 EOF! 

このままやると、最初の1行(hosta)だけ実行されて終わります。

して、次のように「ssh -n」とするとちゃんと全部実行されます。



 #!/bin/sh 
 
 while read line 
 do 
     echo $line 
     ssh -n root@${line} 'hostname' 
 done <<EOF! 
 hosta 
 hostb 
 hostc 
 hostd 
 EOF! 

なぜ、-nが有効かって?、、、

そのうち調べるかもしれませんw