Bash无法识别文件测试操作符

时间:2015-10-22 19:32:56

标签: linux bash shell raspberry-pi2 debian-based

我在Raspberry Pi 2上运行Raspbian-Wheezy(基于Debian)3.18。当我尝试在bash中使用文件测试操作符时,我发现命令未找到错误。
例如:

>> -d ./bin

产量

bash: -d: command not found

在我尝试过的所有文件测试操作符的终端和shell脚本中都会发生这种情况(-d,-e,-f等)。从我所能找到的,似乎这些命令应该被内置到bash中。知道我哪里错了吗?

1 个答案:

答案 0 :(得分:2)

文件测试操作符只能在test命令(test[ ... ][[的上下文中识别... ]])。这适用于-z-n之类的其他运算符,以及您可能希望在条件表达式中使用的大多数其他运算符:

$ test -d bin
$

请注意,没有输出;它只是将最后一个状态变量$?设置为0(如果为true),如果为false,则设置为1。您必须使用if或其他东西来使用值:

if test -d ./bin; then
   echo "./bin is a directory"
else
   echo "./bin is not a directory"
fi