`

`

[Cygwin と Linux の両方で、 のコマンドを見たことがあります/bin。実行するたびに、 というエラーが発生しますmissing ]

このコマンドが何をするのか全く理解していませんでしたが、ある日、それが何をするのか(そしてそれが役に立つかどうか)を知りたいと思ったのです。

注記:man答えを求めてエントリーをチェックしたのですが、残念ながらそこにはエントリーがありませんでした。[

答え1

これはtest指示。

たとえば、/etc/passwd存在するかどうかを確認します。

[ -f /etc/passwd ] && echo "Yes" || echo "No"

通常は次のように書きます。

if test -f /etc/passwd
then
  echo "Yes"
else
  echo "No"
fi
Read 

答え2

シェル スクリプトで if 条件を見たことがありますか? 次のような形式です:
[ -e $FILE ]

このような場合、条件チェック機能は通常、それらのスクリプトを解釈するシェル (通常は bash または sh-aliased-bash) に組み込まれています。

表示されるバイナリは同じ目的を果たしますが、シェルで条件チェックを使用できるようにするために存在します。それなしこのような機能が組み込まれています。

答え3

[ 角括弧はコマンドを呼び出す別の方法ですtest

参照するテストのマニュアルページさらに詳しい情報については:)

関連情報