以相反的顺序打印给定的数字

以相反的顺序打印给定的数字
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

*是通配符。因此,请确保\在使用之前添加“ ”

相关内容