【发布时间】:2020-06-20 21:46:23
【问题描述】:
read X;
read Y;
read Z;
if [[ $X,$Y,$Z -ne "0" ]]; then
if [[ $X,$Y,$Z -ge 1 && $X,$Y,$Z -le 1000 ]] && [[ $((X+Y)) -gt $Z || $((Y+Z)) -gt $X || $((X+Z)) -gt $Y ]]; then
case $X,$Y,$Z in
$X -eq $Y && $Y -eq $Z && $X -eq $Z ) echo "EQUILATERAL";;
esac
else
echo "bye";
fi
fi
*./bashtesting.sh:第 7 行:意外标记 `-eq 附近的语法错误
./bashtesting.sh: 第 7 行: $X -eq $Y && $Y -eq $Z && $X -eq $Z ) echo "EQUILATERAL";;*
如何一次将三个变量等同起来?
【问题讨论】:
-
我建议将
[[ $X,$Y,$Z -ne "0" ]]替换为[[ $X -ne 0 ]] && [[ $Y -ne 0 ]] && [[ $Z -ne 0 ]]。