0

入力を待機し、15秒ごとに「Waitforinput」をstdoutに出力するスクリプトを継続的に実行しています。スクリプトの実行中に、IPアドレスのリストをstdinに貼り付けるアクションをエミュレートする必要があります。たとえば、手動で次の手順を実行する必要があります。最後のリスト要素の後に改行を含む以下のリストをコピーして、stdinに直接貼り付けます。

127.0.0.1
127.0.0.2
127.0.0.3

運が悪かったので、ファイルからパイプとリダイレクト(\nと\rの両方を使用)を使用してみました

echo "127.0.0.1\n127.0.0.2\n" | script

また

script < file

ここで、ファイルには同じIPアドレスが含まれています。助言がありますか?

4

2 に答える 2

2

FIFOを使用してください!

mkfifo /path/to/tmp.fifo
tail -f /path/to/tmp.fifo | script

これで、FIFOに何かを送信するたびに(別のTTYから、プロセスから、何でも)、待機中のスクリプトに入力したかのようになります。

echo "127.0.0.1" >> /path/to/tmp.fifo
于 2012-06-11T13:21:55.223 に答える
0

を使用し catます。実行する場合:

cat | script

カットアンドペーストするか、ttyに入力することができます。

于 2012-06-11T15:25:27.400 に答える