
[
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
。
参照するテストのマニュアルページさらに詳しい情報については:)