Это утверждение отлично работает в BASH v. 4.1.7 (1), но не в BASH v. 4.2.20 (1)
num=${number:$counter:1}
Я получаю "Bad Substitution" в качестве ошибки. Любые идеи о том, почему это происходит?
Цель состоит в том, чтобы сделать что-то похожее на ${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