주어진 숫자를 역순으로 인쇄하세요.

주어진 숫자를 역순으로 인쇄하세요.
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

*와일드카드입니다. 따라서 \사용하기 전에 " "를 추가 하십시오.

관련 정보