Yiling Liu Asked: 2019-04-17 06:10:21 +0800 CST2019-04-17 06:10:21 +0800 CST 2019-04-17 06:10:21 +0800 CST [: 在 shell 中缺少 `]' 错误,[] 中的代码前后已经有空格 772 代码: if [ $mintemp -ge 15 && $maxtemp -le 28 ]; then echo "nice day"; fi 我已经在 [ 和 $Mintemp 、 28 和 ] 之间有空格 但错误仍然发生 shell 1 个回答 Voted Best Answer Mateusz Kubuszok 2019-04-17T06:15:33+08:002019-04-17T06:15:33+08:00 &&不是[]参数(因为[实际上是一个程序),它是 Bash 的运算符,用于在第一个命令成功时运行第二个命令。因此,对于 bash,您的脚本如下所示: if ([ $mintemp -ge 15) && ($maxtemp -le 28 ]; then echo "nice day"; fi) 这是无效的。但是,您可以这样做: if [ $mintemp -ge 15 ] && [ $maxtemp -le 28 ]; then echo "nice day"; fi
&&
不是[]
参数(因为[
实际上是一个程序),它是 Bash 的运算符,用于在第一个命令成功时运行第二个命令。因此,对于 bash,您的脚本如下所示:这是无效的。但是,您可以这样做: