Somme de variables [Résolu] - Forum Shell

Somme de variables Vba range avec variable (Résolu) » Forum - VB / VBA Variable d'environnement windows » Articles Batch variable » Forum - Programmation Vba selection plage variable (Résolu) » Forum - VB / VBA Variable objet ou variable de bloc with non définie » Forum - VB / VBA

Bonjour,
Dans cette boucle:

for var in $taille01 $taille02 $taille03 $taille04 $taille05 ; do
if [ -n ${!var} ] ; then
echo "$var is set to ${!var}"
else
echo "$var is not set"
fi

done

J'ai des variables qui peuvent être vides et à l'exécution, je voudrais exploiter celles qui ne sont pas éliminées et, comme elles représentent chacune une valeur je voudrais les ajouter. Avec ce bout de code trouvé je bute sur la façon d'y parvenir: une petite aide serait bienvenue et, merci par avance!


Forum

Somme de variables Vba range avec variable (Résolu) » Forum - VB / VBA Variable d'environnement windows » Articles Batch variable » Forum - Programmation Vba selection plage variable (Résolu) » Forum - VB / VBA Variable objet ou variable de bloc with non définie » Forum - VB / VBA

Web: www.shapebootstrap.net

10 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

salut,

à vue de pif, et vue les complications qu'annoncent les indirections, ton script est mal conçu.

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Salut,

Peut-être devrais-tu plutôt t'intéresser aux tableaux en bash pour y stocker tes variables (les valeurs nulles ne seront pas prises en compte) et boucler avec une boucle style langage C ?

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Hello!

Merci Zipe31 de m'avoir répondu - Je me suis déjà accroché aux tableaux. je vais y replonger - Ce bout de script est modifié juste avec mes variables - le script a été pioché sue le net.
Ses variables contiennent en fait la taille de fichiers sauvegardés et, ce que j'ai trouvé de bien c'est que je n'ai pas d'erreur si je ne rentre pas la totalité des variables de la boucle For (mais toutes ces variables existent mais ne sont pas toutes sélectionnées) : le comble est l'extraction de ces variables non vides sélectionnées par un menu (que je vois dans la réponse de la boucle ci-dessus). Je vais regarder chez les tableaux! Merci amplement et Salutations!

Reply
réponses:
  • zipe31

    # Définition des variables
    $ a1=1;a3=3;a5=5

    # Déclaration tableau (a0, a2 et a4 ne sont pas définies)
    $ var=( ${a0} ${a1} ${a2} ${a3} ${a4} ${a5} )

    # Nombre d'éléments du tableau
    $ echo ${#var[@]}
    3

    # Boucle sur les valeurs présentes et addition
    $ for (( x=0; x<${#var[@]}; x++ ));do som=$(( ${som} + ${var[x]} ));done;echo ${som}
    9

  • qqchquicommenceparQ

    $ a1=1;a3=3;a5=5
    $ ar=( ${a0} ${a1} ${a2} ${a3} ${a4} ${a5} )
    $ ( IFS='+'; echo $((${ar[*]})) )
    9
    ;)

  • lepays

    Bonjour et Merci!
    Je remercie amplement de m'avoir lu et suggérer une solution! Merci et Bonne fin de journée - il est 13h10 de dimanche 04 en Martinique! Bye

  • zipe31

    Hi,

    Je me doutais qu'il y avait plus simple, et je voulais aussi voir si tu suivais ;-))

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

hello
les tableaux c'est mieux, sinon, pour qu'une variable vide soit traitée dans la boucle

for var in ${taille01:-""} ${taille02:-""} ${taille03:-""} ${taille04:-""} ${taille05:-""} ; do
...

Reply
réponses:
  • dubcek

    plus simple

    for var in "${taille01}" "${taille02}" "${taille03}" "${taille04}" "${taille05}" ; do
    ...

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Hello!

Merci Zipe31 et Dubcek. - En effet la solution de Zipe31 est très performant et je le félicite d'avoir trouvé très rapidement cette solution. Je dois dire que je suis très heureux et ce bout de code sera décortiqué minutieusement: que je puisse tirer des leçons! Pour ce code, il aura 27 variables et celles qui seront sélectionnées par menu seront avec "${som}" décortiquées par un script en Octets, Ko, Mo et Go. Merci encore et Très Sincères Salutations - Je vais mettre Résolu.

Reply

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed