我的代码:
#!/bin/bash
read num1
read num2
if ($num1 -eq 0) || ($num2 -eq 0)
then exit
else
echo "$(($num1+$num2))"
echo "$(($num1-$num2))"
echo "$(($num1*$num2))"
echo "$(($num1/$num2))"
fi
当我执行此代码时,我收到以下错误:
./txt: line 4: 1: command not found
./txt: line 4: 1: command not found
我不知道为什么当我输入:num1 = <any number>
和时会弹出这些错误num2 = <any number>
答案1
语法错误。您需要 double与或 single/double(( ))
组合==
[ ]
这些运行正常:
if [ $num1 -eq 0 ] || [ $num2 -eq 0 ] #mind the gap between brackets and vars....
或者
if (($num1==0)) || (($num2==0))
双括号语法只能用于符合 bash 算术扩展逻辑的数字。
单括号或双括号可用于字符串或数字变量。