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

Blu*_*ies 2 command-line bash scripts

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

if [ -n "$BASH_VERSION" ]; then...
...
if [ -f "$HOME/.bashrc" ]; then...
...
if [ -d "$HOME/bin" ] ; then...
...
Run Code Online (Sandbox Code Playgroud)

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

Qua*_*odo 5

CONDITIONAL EXPRESSIONSif 子句的所有 BASH 选项都可以在文档 ( )部分下找到man bash

引用它:

-d 文件

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

-f 文件

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

-n 字符串

如果字符串长度非零,则为 True。