[
私のMac Powerbookの/binファイルに、左括弧という予期しないファイルがあります。Catalinaを使用しています。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
を直接実装している可能性が高いため、これらを呼び出すと、別のプロセスを実行してコマンドを実行するのではなく、シェルがコマンドを実行します。繰り返しますが、ユーザーにとっては違いはわかりません。