コマンドの実行結果に基づいてif文を実行する方法

コマンドの実行結果に基づいてif文を実行する方法

実行されたコマンドの出力でIFステートメントを実行しようとしています。これは私が試したことですが、うまくいきません。誰もがこれを行う正しい方法を知っていますか?

if [ "`netstat -lnp | grep ':8080'`" == *java* ]; then
  echo "Found a Tomcat!"
fi

編集:終了コードをキャプチャしてこれを行う方法があるかどうか疑問に思います。

ベストアンサー1

bash[[条件付き構成を使用し、$(<command>)コマンド置換規則を優先します。また、[[変数値の単語分割を防止できるため、命令置換ビットを引用する必要はありません。

if [[ $(netstat -lnp | grep ':8080') == *java* ]]; then
  echo "Found a Tomcat!"
fi

おすすめ記事