2

我在 Raspberry Pi 2 上运行 Raspbian-Wheezy(基于 Debian)3.18。当我尝试在 bash 中使用文件测试运算符时,我收到 command not found 错误。
例如:

>> -d ./bin

产量

bash: -d: command not found

这发生在我尝试过的所有文件测试运算符(-d、-e、-f 等)的终端和 shell 脚本中。据我所知,这些命令似乎应该内置到 bash 中。知道我哪里出错了吗?

4

1 回答 1

3

文件测试运算符仅在test命令的上下文中被识别(test[...][[... ]])。这适用于诸如-zor等​​其他运算符-n,以及您可能希望在条件表达式中使用的大多数其他测试:

$ test -d bin
$

请注意,没有输出;如果为真,它只是将最后一个状态变量设置$?为 0,如果为假,则设置为 1。您必须使用if或使用该值:

if test -d ./bin; then
   echo "./bin is a directory"
else
   echo "./bin is not a directory"
fi
于 2015-10-22T19:38:59.033 回答