与えられた数字を逆順に印刷します。

与えられた数字を逆順に印刷します。
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

*ワイルドカードです。したがって\、使用する前に「」を追加してください。

関連情報