以下のような感じで、catにて出力に対し、
自作のスクリプトで一行づつ処理したいです。
しかし、実際に実行してみると、catした一行目しか処理されません。
bash
1cat ip_of_servers | ./myscript.sh
スクリプトの内容は以下です。。
bash
1#!/bin/bash 2 3while read ip 4do 5 ret=$(ssh $ip 'ps aux | grep -v grep | grep mine | wc -l') 6 7 if [ $ret -eq 1 ]; then 8 echo OK running: $ip 9 elif [ $ret -eq 0 ]; then 10 echo NG stopped: $ip 11 else 12 echo UNKNOWN: $ip 13 fi 14done
なので、現在は以下のようにして無理やり実行しています。
bash
1cat ip_of_servers | while read line;do echo $line | ./myscript.sh ; done
どうすれば以下のような感じで全ての行に対して実行出来るようになるでしょうか。
bash
1cat ip_of_servers | ./myscript.sh
良い方法があれば教えてください。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/19 15:55