IF bash 语句中有哪些不同的选项 (-f、-d、-n)?

IF bash 语句中有哪些不同的选项 (-f、-d、-n)?

我正在查看主目录中的“.profile”文件,并看到该IF语句使用了不同的选项:

if [ -n "$BASH_VERSION" ]; then...
...
if [ -f "$HOME/.bashrc" ]; then...
...
if [ -d "$HOME/bin" ] ; then...
...

这里以及其他 bash 脚本中-n -f和选项的含义和用途是什么?-d

答案1

所有用于 if 子句的 BASH 选项均可在CONDITIONAL EXPRESSIONS文档部分 ( man bash) 中找到。

引用如下:

-d 文件

如果文件存在并且是目录则为真。

-f 文件

如果文件存在并且是常规文件则为真。

-n 字符串

如果字符串的长度不为零,则为真。

答案2

-f-d是文件测试运算符选项,即:

-f文件是常规文件,而不是目录

-d文件是目录

-n是比较运算符选项。当选项后面的字符串为 时,它返回“true” not null

相关内容