Je suis en train d'écrire un script où l'utilisateur entre un numéro en tant que paramètre et le script calcule la somme de tous les chiffres, par exemple,Comment puis-je obtenir un caractère d'une chaîne à un index particulier?
./myScript 963
18
Donc le script prend la chaîne « 963 » et ajoute tout les caractères de la chaîne 9+6+3=18
. Je pense que je pourrais obtenir la longueur de la chaîne et utiliser une boucle pour ajouter tous les index de la chaîne ensemble mais je ne peux pas comprendre comment obtenir un index de la chaîne sans connaître déjà le caractère que vous recherchez.
j'ai pu briser la chaîne à l'aide de la commande suivante,
echo "963" | fold -w1
9
6
3
Mais je ne suis pas sûr si /comment je pouvais tuyau |
ou rediriger >
les résultats dans une variable et l'ajouter à un total à chaque fois.
Comment puis-je obtenir un caractère d'une chaîne à un index particulier?
Update:
Exemple 1:
1 = 59 $, alors le fonctionnement est 5 + 9 = 14
Exemple 2:
1 $ = 2222 puis l'opération est 2 + 2 + 2 + 2 = 8
Tous les caractères de la chaîne sont ad déduit à une somme totale.
Votre but ultime n'est pas clair. Voulez-vous continuer à ajouter les chiffres ensemble jusqu'à ce qu'il vous en reste un? –
Je suis avec @TomFenech dans sa confusion mais j'imagine que l'expansion de $ {parameter: offset: length} 'des variables shell sera utile ici. –
Vous ajoutez tous les caractères dans la chaîne pour obtenir un total, par exemple, "55" serait "5 + 5 = 10". Quand j'obtiens la chaîne "55" je devrais retourner 10. Un autre exemple serait "22" retournerait "4". J'ai essayé de mettre à jour le poste, désolé. –