この文BASH Vに正常に動作します。4.1.7(1)ではなく、BASH Vの。4.2.20(1)BASHバージョン関連問題
num=${number:$counter:1}
私は "悪い置換" を取得していますエラー。なぜこれが起こっているのかについての洞察はありますか? 目的はサブ文字列を取得するために${string:position:length}
に似たようなことをすることです。
ご協力いただければ幸いです。ありがとう。
以下添加され、このラインを有していた元のコード(行15)
#!/bin/bash
echo "Please enter a number: "
read number
counter=0
answer=0
end=$((${#number} - 1))
echo -n "The sum of all digits of "
echo -n $number
echo -n " is "
while [ $counter -lt ${#number} ] ; do
num=${number:$counter:1}
if [ $counter -lt $end ] ; then
echo -n $num
echo -n "+"
else
echo -n $num
echo -n "="
fi
answer=$(($answer + $num))
counter=`expr $counter + 1`
done
echo $answer
「数値」と「カウンタ」の値は何ですか? – ruakh
番号は入力です。 counterは、数値の0からstrlenの範囲の変数です。数字= 123、カウンターは1と言います。 – Bill
3.2.48でうまく動作します - 他に違いはありませんか? –