[
私のMac Powerbookの/ binファイルに - 左角かっこ - という名前の予期しないファイルがあります。私はカタリナを担当しています。ファイルを見ると、cat
Apple認証局のエントリのように見えます。ほとんどは読めませんが、テキストがあります。
Apple Certification Authority
そして
PROGRAM:test PROJECT:shell_cmds-207.40.1 ??????i@[]missing ]!unexpected operator%s: %s%sclosing paren expectedargument expected%s: bad number%s: out of range)
これは何か知っていますか?私にとっては不思議なようです。エラーメッセージに基づくいくつかのソースコードと同じです。ただし、Appleに必要なファイルの場合は直接削除したくありません。
答え1
左角かっこ[
は標準の実行可能ファイルと同じであり、test
シェルスクリプトを作成するときに構文上の砂糖(例えば、「よさそうだ」)を提供します。
fruit="banana"
if [ banana = "$fruit" ] # "[" really is an executable
then
echo "Yum, yum"
fi
または
fruit="banana"
if test pear = "$fruit"
then
echo "Yum, yum"
fi
これは直接同じです。
実際にはシェルはと[
を直接実装できるtest
ので、それを呼び出すと、別のプロセスを実行するのではなく、シェルはコマンドを実行します。繰り返しますが、ユーザーには顕著な違いはありません。