`

`

我在 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命令的另一种方式。

參閱测试的手册页了解更多信息:)

相关内容