bash中的if条件语句报错[: missing `]'
这是我的一个小demo
#!/bin/bash
read -p "请输入3个数:" n1 n2 n3
if [ $n1 -gt $n2 ] && [ $n1 -gt $n3 ]
then
echo "max_num is $n1"
elif [ $n3 -gt $n2 ] && [ $n1 -lt $n3 ]
then
echo "max_num is $n3"
else
echo "max_num is $n2"
fi
之所以会报错[: missing `]',主要会因为以下原因:
- if与 '[' 、'[' 与条件、']' 与条件、'-gt' 与前后要比较的数之间都要使用空格;
- 中间使用关系运算符 '&&' 或 '||' 时,一定要把前后的条件都用中括号括起来。