ファイルから1行ずつインポートした変数でコマンドを繰り返します。

ファイルから1行ずつインポートした変数でコマンドを繰り返します。

複数のリモートサーバー上のファイルからテキスト文字列を取得しようとしています。これらの各サーバーにはカスタムポート番号があるので、そのポート番号を「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",

ベストアンサー1

おすすめ記事