Ce états fonctionne très bien dans BASH v. 4.1.7 (1), mais pas dans BASH v. 4.2.20 (1)version BASH problème lié
num=${number:$counter:1}
Je reçois "Bad substitution" comme Erreur. Des idées sur pourquoi cela se passe? L'objectif est de faire quelque chose de similaire à ${string:position:length}
pour obtenir une sous-chaîne.
Toute aide sera grandement appréciée. Merci.
Le code original qui avait cette ligne est ajoutée ci-dessous (ligne 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
Quelles sont les valeurs de 'number' et' counter'? – ruakh
nombre est une entrée. counter est une variable qui va de 0 à strlen du nombre. Disons numéro = 123, et le compteur est 1. – Bill
Fonctionne bien pour moi dans 3.2.48 - êtes-vous sûr qu'il n'y a pas d'autres différences? –