Macos

macos 上 /bin 中的意外文件“[”

  • March 14, 2020

我的 Mac Powerbook 上的 /bin 文件中有一個名為[- 左括號的意外文件。我正在執行 Catalina。當我cat的文件看起來像蘋果證書頒發機構的東西。大部分是不可讀的,但裡面有文字

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 需要的文件。

開方括號 ,[是標準執行檔,相當於test,在編寫 shell 腳本時提供語法糖(即“看起來不錯”)

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

這些是直接等價的。

實際上,您的 shell 可能會直接實現兩者[test因此當您呼叫它們時,您的 shell 會執行命令,而不是執行單獨的程序來執行此操作。同樣,對於您,使用者來說,沒有明顯的區別。

引用自:https://unix.stackexchange.com/questions/572898