'Shifter' une variable
Résolu/Fermé
Matthia$
Messages postés
364
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
17 mars 2010
-
23 déc. 2009 à 18:24
Matthia$ Messages postés 364 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 17 mars 2010 - 24 déc. 2009 à 12:02
Matthia$ Messages postés 364 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 17 mars 2010 - 24 déc. 2009 à 12:02
A voir également:
- 'Shifter' une variable
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Windows 10
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Variable d'environnement TEMP ✓ - Forum Windows 7
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ✓ - Forum Python
10 réponses
lecube
Messages postés
304
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
13 avril 2010
54
23 déc. 2009 à 18:29
23 déc. 2009 à 18:29
Bonjour,
Pourquoi ne pas utiliser une boucle ( en ksh) ? :
for i in $mesElements
do
echo $i
done
et ainsi on passe en revue tous les arguments ... Est-ce bien en ksh que vous voulez coder ?
Pourquoi ne pas utiliser une boucle ( en ksh) ? :
for i in $mesElements
do
echo $i
done
et ainsi on passe en revue tous les arguments ... Est-ce bien en ksh que vous voulez coder ?
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
23 déc. 2009 à 18:37
23 déc. 2009 à 18:37
Salut,
Tu peux utiliser les tableaux ou même les paramètres au-delà de $9 (il suffit pour cela de mettre des accolades).
Un exemple avec l'affichage d'un élément du tableau et du même élément avec les paramètres :
;-))
Tu peux utiliser les tableaux ou même les paramètres au-delà de $9 (il suffit pour cela de mettre des accolades).
Un exemple avec l'affichage d'un élément du tableau et du même élément avec les paramètres :
[tmpfs]$ cat foo.sh #! /bin/sh #set -xv MesElements=( $* ) echo "Elément 1 = ${MesElements[0]}" echo "Elément 1 = ${1}" echo "Elément 11 = ${MesElements[10]}" echo "Elément 11 = ${11}" echo "Elément 15 = ${MesElements[14]}" echo "Elément 15 = ${15}" [tmpfs]$ ./foo.sh a b c d e f g h i j k l m n o p q r s t u v w x y z Elément 1 = a Elément 1 = a Elément 11 = k Elément 11 = k Elément 15 = o Elément 15 = o [tmpfs]$
;-))
Matthia$
Messages postés
364
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
17 mars 2010
78
23 déc. 2009 à 18:40
23 déc. 2009 à 18:40
Malheureusement, je n'ai pas le droit d'utiliser les tableaux.
Ce n'est pas un raisonnement très 'Unix', donc le prof n'en veut pas ^^'
Merci quand même
Ce n'est pas un raisonnement très 'Unix', donc le prof n'en veut pas ^^'
Merci quand même
Matthia$
Messages postés
364
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
17 mars 2010
78
23 déc. 2009 à 18:37
23 déc. 2009 à 18:37
Effectivement, c'est en ksh.
Ha, cette réponse me plait ! :)
Je n'avais pas pensé à utiliser for
Merci lecube
Par contre, si je veux travailler sur deux variables de même taille en même temps, je peux toujours utiliser une boucle for ?
Exemple
elts="elt1 elt2 elt3"
check="true false true"
On peut 'parcourir' les deux variables en même temps ?
Ha, cette réponse me plait ! :)
Je n'avais pas pensé à utiliser for
Merci lecube
Par contre, si je veux travailler sur deux variables de même taille en même temps, je peux toujours utiliser une boucle for ?
Exemple
elts="elt1 elt2 elt3"
check="true false true"
On peut 'parcourir' les deux variables en même temps ?
Matthia$
Messages postés
364
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
17 mars 2010
78
23 déc. 2009 à 18:39
23 déc. 2009 à 18:39
Coucou jipicy,
En fait, je n'ai pas le droit d'utiliser le tableau (consignes du prof qui ne trouve prof)
Merci quand même :)
[Désolé pour le doublon, PC qui rame]
En fait, je n'ai pas le droit d'utiliser le tableau (consignes du prof qui ne trouve prof)
Merci quand même :)
[Désolé pour le doublon, PC qui rame]
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lecube
Messages postés
304
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
13 avril 2010
54
23 déc. 2009 à 19:01
23 déc. 2009 à 19:01
"i in" ne considere pas la variable mais plus la chaine d'element. Donc si j'ai deux liste MesArguments1 et MesArguments2
for i in $MesArguments1 $MesArguments2
do
echo $i
done
donnera exactement le meme resultat !
for i in $MesArguments1 $MesArguments2
do
echo $i
done
donnera exactement le meme resultat !
Matthia$
Messages postés
364
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
17 mars 2010
78
23 déc. 2009 à 19:10
23 déc. 2009 à 19:10
Non, dans mon cas, je voulais avoir $MesArguments et $MesVérifications, qui ont exactement la même taille (car l'une dépend de l'autre)
Mais en fait, je n'utiliserais pas cette structure.
Si tu as la réponse, ça peut toujours être intéressant. ;)
En tous cas, merci bien.
Mais en fait, je n'utiliserais pas cette structure.
Si tu as la réponse, ça peut toujours être intéressant. ;)
En tous cas, merci bien.
lecube
Messages postés
304
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
13 avril 2010
54
23 déc. 2009 à 19:14
23 déc. 2009 à 19:14
Je ne suis pas sur de bien cerner ton probleme ...
Si MesArguments="Arg1 Arg2" et MesVerif="Verif1 Verif2"
la commande que je t'ai donne donnera :
Arg1
Arg2
Verif1
Verif2
Peux-tu etre plus clair ?
Si MesArguments="Arg1 Arg2" et MesVerif="Verif1 Verif2"
la commande que je t'ai donne donnera :
Arg1
Arg2
Verif1
Verif2
Peux-tu etre plus clair ?
Matthia$
Messages postés
364
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
17 mars 2010
78
23 déc. 2009 à 19:20
23 déc. 2009 à 19:20
J'aimerais faire cohabiter Arg1 avec Verif1, et Arg2 avec Verif2.
Si jamais Verif1 n'est pas bon, il me faut utiliser Arg1 pour corriger l'erreur.
J'ai comme des couples ( Arg1, Verif1)
Si jamais Verif1 n'est pas bon, il me faut utiliser Arg1 pour corriger l'erreur.
J'ai comme des couples ( Arg1, Verif1)
lecube
Messages postés
304
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
13 avril 2010
54
23 déc. 2009 à 19:25
23 déc. 2009 à 19:25
Et si tu utilises une variable intermediaire ... ArgTmp
If ( Verfi1 )
then
ArgTmp=Arg1
elif ( Verif2)
then
ArgTmp=Arg2
fi
for i in $ArgTmp
do
echo $i
done
maintenant si tu as plus de n verif, je te conseille de passr au case :
case valverif in
verif1) ArgTmp=Arg1;;
verif2) ArgTmp=Arg2;;
verif3) ArgTmp=Arg3;;
...
esac
et la boucle.
If ( Verfi1 )
then
ArgTmp=Arg1
elif ( Verif2)
then
ArgTmp=Arg2
fi
for i in $ArgTmp
do
echo $i
done
maintenant si tu as plus de n verif, je te conseille de passr au case :
case valverif in
verif1) ArgTmp=Arg1;;
verif2) ArgTmp=Arg2;;
verif3) ArgTmp=Arg3;;
...
esac
et la boucle.
Matthia$
Messages postés
364
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
17 mars 2010
78
24 déc. 2009 à 12:02
24 déc. 2009 à 12:02
Ouais, pas très simple pour les boucles infinies... ^^'
Finalement, je ne m'en servirais pas de cette second idée.
Mais en tout cas, merci pour le for, c'est finalement ce que je cherchais le plus.
Bonne journée !
Finalement, je ne m'en servirais pas de cette second idée.
Mais en tout cas, merci pour le for, c'est finalement ce que je cherchais le plus.
Bonne journée !