私の/usr/binディレクトリに[というファイルがあるのはなぜですか? [コピー]

私の/usr/binディレクトリに[というファイルがあるのはなぜですか? [コピー]

最近別のオペレーティングシステムからLinuxに戻ったとき、[というファイルが奇妙に感じられました。それは何のために使用されますか?

$ ls -l /usr/bin | head -2
-rwxr-xr-x 1 root root       39552 Nov  3 14:44 [

Ubuntu 15.04を使用しています

答え1

command は[command の別の "name"testなので、if設定された構文がより良いです。これら2つは同じです。

if test "$x" -eq 0

if [ "$x" -eq 0 ]

最後は]単なるフレーズ砂糖です。この同等性は主に歴史的特徴です。

最新のテスト構成[[ ... ]](非標準)は、コマンドではなくシェル構文の一部です。

答え2

[使用できることを確認するコマンドです。type [

シェル組み込みコマンドと呼ばれ、これを使用すると、type -a [ディレクトリに別のコマンドがあることがわかります。[/usr/bin/

コマンドのヘルプを見ることができますhelp [

使用法:これはifbashのもう一つの形式です。たとえば、次のようになります。

[ "Hello" == "Helo" ] ; echo $?

関連情報