Macos
macos 上 /bin 中的意外文件“[”
我的 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 會執行命令,而不是執行單獨的程序來執行此操作。同樣,對於您,使用者來說,沒有明顯的區別。