複数のリモートサーバー上のファイルからテキスト文字列を取得しようとしています。これらの各サーバーにはカスタムポート番号があるので、そのポート番号を「port_numbers.txt」(1行に1つ)というファイルに入力しました。テキストファイルの出力を使用して、ファイルが終了するまでこのコマンドを1行ずつ繰り返したいと思います。
リスト内の各サーバーに必要な文字列を提供するスクリプトを作成したいと思います。これまで、スクリプトは最初の行以降に停止します。コマンドを繰り返しますが、毎回「$line」の値を次の行に置き換える最善の方法は何ですか?
#!/bin/bash
filename="port_numbers.txt"
while IFS= read -r line
do
ssh host -p"$line" "grep -Ei 'STRING' /path/to/file"
done
出力:
sh myscript.sh
user@hostname's password:
"STRING":"STRING: STRING",