Script Shell, utilisation de variables
Résolu
Ilaan
-
Ilaan -
Ilaan -
A voir également:
- Script Shell, utilisation de variables
- Utilisation chromecast - Guide
- Classic shell - Télécharger - Personnalisation
- Notice d'utilisation - Guide
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
3 réponses
Oui, j'y viens:
Voilà ;)
Syntaxe trouvée ici:
http://www.commentcamarche.net/forum/affich 9223857 script shell et parametre
Farwarx.
#!/bin/bash echo "Total:$#" a=0 while [ "$a" -lt "$#" ] do a=$(($a + 1)) eval echo "Argument n°$a: \$$a" done
Voilà ;)
Syntaxe trouvée ici:
http://www.commentcamarche.net/forum/affich 9223857 script shell et parametre
Farwarx.
Salut,
il manque comment afficher l'argument x.
#!/bin/bash echo "Total:$#" a=0 while [ "$a" -lt "$#" ] do a=$(($a + 1)) echo "Argument n°$a: " done
il manque comment afficher l'argument x.
Merci, mais je crois que je me suis mal exprime.
Le code que tu me proposes me permet d'incrementer la variable a (merci a toi^^"), cependant, moi je souhaiterai afficher a chaque tour de boucle l'argument correspondant a $a.
Si je lance le script :
./script.sh arg1 arg2 arg3 arg4
Eh bien j'aimerai qu'a chaque tour de boucle, je puisse afficher l'argument correspondant a la valeur de la variable $a.
a=0
while [ "$a" -le "$#" ]
do
a=$(($a + 1))
<affichage de arg1 si a = 1, affichage de arg2 si a=2, affichage de arg3 si a=3, etc...
done
Merci d'avance de prendre en consideration ma question.
Le code que tu me proposes me permet d'incrementer la variable a (merci a toi^^"), cependant, moi je souhaiterai afficher a chaque tour de boucle l'argument correspondant a $a.
Si je lance le script :
./script.sh arg1 arg2 arg3 arg4
Eh bien j'aimerai qu'a chaque tour de boucle, je puisse afficher l'argument correspondant a la valeur de la variable $a.
a=0
while [ "$a" -le "$#" ]
do
a=$(($a + 1))
<affichage de arg1 si a = 1, affichage de arg2 si a=2, affichage de arg3 si a=3, etc...
done
Merci d'avance de prendre en consideration ma question.
De rien, à la prochaine.
N'oublies pas de mettre le statut du message en résolu (ça aide les autres).
N'oublies pas de mettre le statut du message en résolu (ça aide les autres).
Humpf, finalement me revoila, avec un souci dans la continuite de mon precedent probleme.
Grace a :
eval echo "\$$a";
J'ai pu afficher ma variable, cependant, je n'arrive toujours pas a travailler dessus.
J'aimerai pouvoir comparer le contenu avec une chaine de caracteres afin d'executer des actions sous certaines conditions :
if [ eval"\$$a" = "-k" ]
then
...
fi
Mais je ne sais pas du tout comment tourner syntaxiquement la chose pour que ca fonctionne.
Est-ce seulement possible ?
Grace a :
eval echo "\$$a";
J'ai pu afficher ma variable, cependant, je n'arrive toujours pas a travailler dessus.
J'aimerai pouvoir comparer le contenu avec une chaine de caracteres afin d'executer des actions sous certaines conditions :
if [ eval"\$$a" = "-k" ]
then
...
fi
Mais je ne sais pas du tout comment tourner syntaxiquement la chose pour que ca fonctionne.
Est-ce seulement possible ?
Salut,
Il existe un mécanisme du shell spécialement étudié pour ce que tu veux : getopts
Voir ce thread qui en parle sommairement, ainsi que le man bash (paragraphe sur "getopts").
Il existe un mécanisme du shell spécialement étudié pour ce que tu veux : getopts
Voir ce thread qui en parle sommairement, ainsi que le man bash (paragraphe sur "getopts").
Travaillant dans le cadre d'un exercice, cette fonction semble faire partie des "interdits". Dommage...
Au besoin je pense que je devrai la recoder... cependant, ca me semble (peut-etre a tord) beaucoup d'efforts pour faire une simple comparaison entre une chaine de caractere et une variable...
Mon probleme etant d'ailleurs simplement que je n'arrive pas a reutiliser cette variable hors d'un :
eval echo "\$$a";
Merci quand meme^^'
Au besoin je pense que je devrai la recoder... cependant, ca me semble (peut-etre a tord) beaucoup d'efforts pour faire une simple comparaison entre une chaine de caractere et une variable...
Mon probleme etant d'ailleurs simplement que je n'arrive pas a reutiliser cette variable hors d'un :
eval echo "\$$a";
Merci quand meme^^'
A la prochaine, peut-etre ^^'