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の前後にスペースが必要な理由も説明します]
。