イベントベースの出力後のコマンドの実行

イベントベースの出力後のコマンドの実行

同様のコマンドがあります

活動

または

tcpdump -n src ホスト xxxx

何かが起こると、いくつかの行が標準出力に送信されます。 1行を印刷した直後にいくつかのコマンドを実行するフォームはありますか?前任者:

iwevent | echo "Wireless event happened"

答え1

ただループを読むstdin

iwevent | while IFS= read -r line; do
    echo "[$(date "+%F %T")] - $line"
done

ループ本文で実行している操作に応じて、次のことができます。

while IFS= read -r line; do
    echo "[$(date "+%F %T")] - $line"
done < <(iwevent)

これにより、パイプの使用による暗黙のサブシェル効果が防止されます。

答え2

何を言っているのかよく分からないが、この方向に何かがあるのか​​?

while IFS= read -r line; do
    printf "%s\n%s\n" "$line" "Yohooo! One more package."
done < <(tcpdump -i any -nS)

関連情報