내 코드:
#!/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
문법 오류. 더블 및/또는 싱글/더블 (( ))
조합이 필요합니다.==
[ ]
이것들은 잘 실행됩니다:
if [ $num1 -eq 0 ] || [ $num2 -eq 0 ] #mind the gap between brackets and vars....
또는
if (($num1==0)) || (($num2==0))
이중 괄호 구문은 bash의 산술 확장 논리를 준수하는 숫자에만 사용할 수 있습니다.
문자열 또는 숫자 변수에는 단일 또는 이중 괄호를 사용할 수 있습니다.