我在Raspberry Pi 2上运行Raspbian-Wheezy(基于Debian)3.18。当我尝试在bash中使用文件测试操作符时,我发现命令未找到错误。
例如:
>> -d ./bin
产量
bash: -d: command not found
在我尝试过的所有文件测试操作符的终端和shell脚本中都会发生这种情况(-d,-e,-f等)。从我所能找到的,似乎这些命令应该被内置到bash中。知道我哪里错了吗?
答案 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