什么是「;[“二进制文件在我的文件夹中”(MacOS Big Sur M1芯片)

什么是「;[“二进制文件在我的文件夹中”(MacOS Big Sur M1芯片),macos,operating-system,Macos,Operating System,我是操作系统方面的新手,并试图通过探索我的新电脑来迎头赶上 今天早上,我正在浏览bin文件,看到一个奇怪的文件夹,名为“[”。这是什么? 我还没有在“/bin”文件夹中创建或安装任何内容。因此它不是由我创建的。我的“/bin”文件夹中的“[”二进制文件用于什么 [是测试程序。如手册页所示,它的用法如下 [条件] 并计算为零(表示true)或非零值(表示false)。对于macOS上的zsh,手册页表示false由1表示。请注意,方括号后的空格非常重要,因为该空格向shell指示您要运行[程序

我是操作系统方面的新手,并试图通过探索我的新电脑来迎头赶上

今天早上,我正在浏览bin文件,看到一个奇怪的文件夹,名为“[”。这是什么?

我还没有在“/bin”文件夹中创建或安装任何内容。因此它不是由我创建的。我的“/bin”文件夹中的“[”二进制文件用于什么


[
是测试程序。如手册页所示,它的用法如下

[条件]
并计算为零(表示true)或非零值(表示false)。对于macOS上的zsh,手册页表示false由1表示。请注意,方括号后的空格非常重要,因为该空格向shell指示您要运行
[
程序

尽管存在该程序,但该可执行文件可能并不经常使用。您似乎正在使用zsh,这是macOS上的默认shell。在zsh中,
[
是一个内置的,优先于
/bin/[
。这可以通过

%which-a[
[:shell内置命令
/垃圾箱/[
内置的手册页可通过
man zshbuiltins
找到

如果要显式使用
/bin
中的程序,则命令应如下所示

/bin/[condition]
例子 假设您正在运行一个shell脚本,希望在其中检查条件。例如,您希望检查文件是否存在。
[
经常用于此目的。下面是一个示例

如果[-f myFile.txt];则
日期>myFile.txt
其他的
echo“文件是在$(cat myFile.txt)上创建的。”
fi

要找到答案,您应该尝试
man[
(如果您不认识man,那么您也可以尝试
man
)谢谢!它的名称是“test,[--condition evaluation utility”,其描述是“test utility对表达式求值,如果求值为true,则返回零(true)退出状态;否则返回1(false)。如果没有表达式,测试也会返回1(false)。“它似乎是内置的。