最近別のオペレーティングシステムから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 [
。
使用法:これはif
bashのもう一つの形式です。たとえば、次のようになります。
[ "Hello" == "Helo" ] ; echo $?