netcatを使ってプログラムを起動しますか? [コピー]

netcatを使ってプログラムを起動しますか? [コピー]

netcatにPC1(IP:10.0.0.1)の特定のポートをリッスンさせるとしましょう。

PC1:~$ nc -l 9999

PC2(IP:10.0.0.2)で接続し、一部の文字列を送信します。

PC2:~$ nc 10.0.0.1 9999
    hello
    touchit
    test
    what's up
    touchit
    bye

PC2から「touchit」を送信するたびに、「touch test.txt」コマンドがPC1で実行されるようにPC1の最初のコマンドをどのように変更しますか?

標準コマンドとパイプを賢く組み合わせてこれを実行することをお勧めします。もちろん、「touch test.txt」はどのコマンドでも置き換えることができます。 PC2から送られた別のコマンド文字列を使って他のプログラムを起動することもできれば良いでしょう。

ベストアンサー1

あなたは次のようなものが欲しい:

echo -e "foo\ntouchit\nbar\nbaz" | while read line; do case $line in
  touchit) touch test.txt;;
  bar)     echo bar found;;
esac; done

おすすめ記事