- - PR -
Shell にて rsh を while で実行する際の不具合
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-05-10 17:21
いつもお世話になっています。
rsh を利用した shell を作成中に期待した動作をしないため、相談させてください。
このようなテスト shell を作成しましたが、 host1 を処理後にループを抜けてしまう状態となっています。 解決策など、わかりましたらご教示いただけると助かります。 よろしくお願いします。 | ||||||||
|
投稿日時: 2007-05-10 18:31
こんばんは。
今回のケースでは、read のみならず、rsh コマンドも入力を処理してしまうのが問題でしょう。次のようなコードでもそうですね。
ループ変数に代入する、host1, host2 が予め分かっているなら、while read RHOST 〜 ではなく、for RHOST in 〜 にした方が分かりやすいでしょう。 …それよりも、rsh に適切な入力リダイレクト ( 多分 </dev/null ) を設定すれば良さそうな気もします。 | ||||||||
|
投稿日時: 2007-05-11 09:15
angel 様
ありがとうございます。 ご指摘いただいた通りに /dev/null を入力リダイレクトして 期待通りの動作を得ることができました。
また、for 文を用いても期待通りの動作をいたしました。
> rsh コマンドも入力を処理してしまう これについて全く認識が無く、ご助言いただきまして、 ありがとうございました。 |
1