我在 Cygwin 和 Linux 中都看到过[
下的命令/bin
。每当我运行它时,都会出现一条错误消息:missing ]
。
我一直不明白这个命令是干什么的,只是有一天我发现它想知道它有什么用(以及它是否有用)
笔记:我本想查看该man
条目以寻找答案,但遗憾的是,其中没有[
答案1
这是test
命令。
例如,确定是否/etc/passwd
存在:
[ -f /etc/passwd ] && echo "Yes" || echo "No"
通常你可以这样写:
if test -f /etc/passwd
then
echo "Yes"
else
echo "No"
fi
Read
答案2
您是否曾经在 shell 脚本中看到或注意到 if 条件?它们的形式如下:
[ -e $FILE ]
在这些情况下,条件检查功能通常内置于解释这些脚本的 shell 中,通常是 bash 或 sh-aliased-bash。
您看到的二进制文件具有相同的用途,但存在是为了在 shell 中使用条件检查没有此类功能是内置的。
答案3
[ 方括号是调用test
命令的另一种方式。
參閱测试的手册页了解更多信息:)