macOS の /bin に予期しないファイル "

macOS の /bin に予期しないファイル "

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

関連情報