Shell : boucle et argument,variable
Fermé
bonobolancinant
Messages postés
1
Date d'inscription
vendredi 10 octobre 2014
Statut
Membre
Dernière intervention
10 octobre 2014
-
10 oct. 2014 à 11:13
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 - 10 oct. 2014 à 11:35
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 - 10 oct. 2014 à 11:35
A voir également:
- Bash boucle for liste
- Classic shell windows 10 français - Télécharger - Personnalisation
- Efi shell - Forum Windows 10
- Efi shell version 2.31 - Forum Programmation
- Secure shell - Télécharger - Divers Web & Internet
- Shell substring ✓ - Forum Shell
2 réponses
mamiemando
Messages postés
33077
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 avril 2024
7 748
Modifié par mamiemando le 10/10/2014 à 11:33
Modifié par mamiemando le 10/10/2014 à 11:33
Tu peux faire comme indiqué ici :
https://stackoverflow.com/questions/255898/how-to-iterate-over-arguments-in-a-bash-script
Attention de manière générale pense à mettre des guillemets autour de tes variables car sinon ça peut faire n'importe quoi. Dans le cas présent si un de tes arguments contient un espace, omettre les guillemets considérera à tort que chaque mot de cet argument est un argument.
Libre à toi d'incrémenter en plus un compteur dans cette boucle si nécessaire.
Attention à ne pas mettre d'espace autour du caractère
Bonne chance
https://stackoverflow.com/questions/255898/how-to-iterate-over-arguments-in-a-bash-script
#!/bin/sh for var in "$@" do echo "$var" done
Attention de manière générale pense à mettre des guillemets autour de tes variables car sinon ça peut faire n'importe quoi. Dans le cas présent si un de tes arguments contient un espace, omettre les guillemets considérera à tort que chaque mot de cet argument est un argument.
Libre à toi d'incrémenter en plus un compteur dans cette boucle si nécessaire.
#!/bin/sh echo $@ i=0 for x in "$@" do i=`expr $i + 1` echo "argument $i: $x" done
Attention à ne pas mettre d'espace autour du caractère
=quand tu fais une affectation de variable.
Bonne chance
CptRomaiin
Messages postés
315
Date d'inscription
mercredi 23 octobre 2013
Statut
Membre
Dernière intervention
28 avril 2016
58
10 oct. 2014 à 11:33
10 oct. 2014 à 11:33
Salut,
Tu peux faire comme ça :
Ce qui te donnera la valeur des arguments ;)
Tu peux faire comme ça :
#!/bin/bash for i in `seq 1 $#`; do echo ${!i} done
Ce qui te donnera la valeur des arguments ;)
mamiemando
Messages postés
33077
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 avril 2024
7 748
10 oct. 2014 à 11:35
10 oct. 2014 à 11:35
Marche aussi, mais seulement en bash, contrairement à :
https://forums.commentcamarche.net/forum/affich-30893579-shell-boucle-et-argument-variable#1
https://forums.commentcamarche.net/forum/affich-30893579-shell-boucle-et-argument-variable#1