bash 选项(标志)的解释

bash 选项(标志)的解释

我经常看到使用以下命令的脚本选项if [ -f some_file ]检查是否some_file是一个文件。我的理解很模糊旗帜,但是有人能给我一个很好的解释吗?其他人喜欢-p,,-s我不知道它们是什么,也无法找到关于它们的好的资源,因为单个谷歌搜索不会产生任何好的结果。

答案1

不管你信不信,[这实际上是test命令的另一个名称。

您可以查看man页面:

man test

test在大多数 shell 中也是一个内置 shell(并且它优先于外部 shell):

% type -a \[
[ is a shell builtin
[ is /usr/bin/[

% type -a test
test is a shell builtin
test is /usr/bin/test

bash还可以看到help test

答案2

最好的解决方案是 bash 手册,是的,简单的man bash.

要查找手册中的确切条目,请执行以下命令:

LESS=+/'^CONDITIONAL EXPRESSIONS' man bash

在 bash shell 中工作时,这也有帮助:

help test

相关内容