入力ファイルを読み取って各行で作業する方法

入力ファイルを読み取って各行で作業する方法

IPアドレスと文字列行で構成される入力ファイルがある場合は、各行をどのように繰り返し、IPアドレスと文字列を使用してコマンドを実行しますか?各行に対して実行するコマンドの例は次のとおりです。

ssh [email protected] cat /etc/component10/version | grep 'Version\|Project' >> /tmp/component_ver.txt

パスワードが必要ないとします。 「...(yes/no)?」という質問に「yes」と答えることができるほど強力なスクリプトを作成したいと思います。ログインするとメッセージが表示されました。

入力ファイルの例:

192.168.0.10 component10  
192.168.0.20 component20  
192.168.0.30 component30  

ベストアンサー1

次のコードは目的の操作を行います。

while read -r server _; do ssh -n -o StrictHostKeyChecking=no root@"$server" "grep -E 'Version|Project' /etc/component10/version" >> /tmp/component_ver.txt; done < serverfile

おすすめ記事