clear
echo "Enter a number"
read n
sd=0
rev=0
while [ $n -gt 0 ]
do
sd=$(( $n % 10 ))
rev=$(( $rev *\ 10 + $sd ))
n=$(( $n / 10 ))
done
echo "Reverse number of entered digit is $rev"
위의 코드에서는 원하는 출력을 얻을 수 없습니다. 대신 이 오류가 표시됩니다.
./Display: line 17: 0 *\ 10 + 4 : syntax error: operand expected (error token is "\ 10 + 4 ")
Reverse number of entered digit is 0
이 오류가 왜 나타나는지 모르겠습니다. 해결하도록 도와주세요.
답변1
숫자도 텍스트입니다. 텍스트는 반전될 수 있습니다.회전 속도산술은 없습니다.
#!/bin/bash
clear
read -p "Enter a number: " num
echo $num | rev
답변2
오류는 문제를 명확하게 지적합니다. 0 *\ 10 + 4
유효한 산술 표현식이 아닙니다.
*\
나는 이것이 오타라고 생각합니다 *
. 이 오타를 수정하면 스크립트가 작동합니다.
답변3
*\
유효한 표현이 아닙니다. 대신 *
문자의 특별한 의미를 제거해 보세요 *
. 이 문자는 *
와일드카드이므로 오류가 발생합니다.
답변4
*
와일드카드입니다. 따라서 \
사용하기 전에 " "를 추가 하십시오.