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
*
是通配符。因此,请确保\
在使用之前添加“ ”