|
|
|
|
Bonjour, tout le monde
Je viens de decouvrir le langage shell sh et je n'arrive pas a me renseigner sur le moyen de parser la ligne de commande. Par exemple
./fichier_shell.sh bonjour tout le monde
donc le fichier_shell aura:
$1=bonjour
$2=tout
$3=le
$4=monde
contrairement au php par exemple on pouvait faire
for($i = 0; $i < $argc; $i++){
echo $argv[$i];
}
Mais je suis incapable de faire une boucle sur les arguements $1,$2... pour voir ce que chacune variable a comme valeur
Merci beaucoup de votre aide
Configuration: FreeBSD Firefox 2.0.0.6
-n c'est un test sur une chaine = la longueur de la chaine est non nulle
|
Pour static tu utilise directement $1,$2,....
#!/bin/bash
i=1
while [ $i -le $# ];do
eval "echo \$$i"
i=$((i+1))
doneBref, si tu veux apprendre le fonctionnement, sache qu'il y a toujours plusieurs façon de le faire
ensuite en fonction de ce que tu veux faire il faut adapter ;-) lami20j |
Salut,
$ cat bar.sh
#! /bin/bash
TABLEAU=( $(echo $*) )
i=0
while [ "$i" -lt "${#TABLEAU[@]}" ]
do echo ${TABLEAU[$i]}
i=$((i+1))
done
$ ./bar.sh premier second troisième quatrième
premier
second
troisième
quatrième;-))
Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |