Linux:whileループでsshを使う場合の注意点
Last-modified: 2013-08-24 (土) 02:14:21 (3898d)
Top / Linux:whileループでsshを使う場合の注意点
Linux:whileループでsshを使う場合の注意点 †
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