このテスト表現は何を意味しますか?

このテスト表現は何を意味しますか?

test(1)、bash(1)、dash(1)のマニュアルページを読んでいますが、このテストが何を意味するのかわかりません。

[ `echo hi` > /dev/null ]

マニュアルページによると、条件式には基本条件式と結合条件式の2種類があります。組み合わせ表現は原色で構成された表現である。

元のリストを見ましたが、上記の式の構文に一致するものはありません。誰かが私のためにそれを分解できますか?

ベストアンサー1

わかりました、私は初めてbashに触れましたが、あなたの質問は明確ですが、あなたが必要とするものを完全に理解することはできません。これは不適切かもしれません。それなら教えてください。

TEST IF "echo hi > /dev/null" is success

[ `echo hi` > /dev/null ]
| |   |   | |           |
| |   |   | |           +--- Last test argument
| |   |   | +--------------- Redirect standard out to /dev/null
| |   |   +----------------- Backtick - End Command Substitution
| |   +--------------------- echo hi
| +------------------------- Backtick - Start Command Substitution
+--------------------------- Test

エコーまたはリダイレクトが失敗するとテストは失敗し、そうでなければ成功します。

コマンドが実行されると、0成功を示す終了コードまたはエラーが表示されます<> 0。したがって、どちらかが失敗すると、すべてが失敗します。

このモード"[ ... ]"とは異なりますが、if (foo == bar)実際には最後の引数として必要なコマンドです[]

[これは、andの前後にスペースが必要な理由も説明します]

おすすめ記事