Decalage des variables positionnelles
Résolu/Fermé
A voir également:
- Decalage des variables positionnelles
- Décalage son/image streaming - Forum Audio
- Disney + decalage son - Forum Audio
- Décalage horaire whatsapp ✓ - Forum Mobile
- Iptv decalage son image ✓ - Forum Gravure
- Décalage son/image freebox revolution - Forum TV & Vidéo
5 réponses
Utilisateur anonyme
Modifié par qqchquicommenceparQ le 24/01/2013 à 18:44
Modifié par qqchquicommenceparQ le 24/01/2013 à 18:44
salut,
Il doit y avoir un shift pour la boucle while principale.
Seuls les paramètres passés à la fonction sont décalés.
Edit: il devrait n'y avoir de shift *que* dans la boucle principale.
et passer seulement $1 et $2 à la fonction.
Il doit y avoir un shift pour la boucle while principale.
Seuls les paramètres passés à la fonction sont décalés.
Edit: il devrait n'y avoir de shift *que* dans la boucle principale.
et passer seulement $1 et $2 à la fonction.
J'ai mis un shift dans la boucle while peut etre que tu parles de celle de case/esac
Je ne comprends pas lorsque tu dis passer seulement $1 et $2 à la fonction"
la fonction hello doit prendre 2 ,4 ou 6 arguments.
Je ne comprends pas lorsque tu dis passer seulement $1 et $2 à la fonction"
la fonction hello doit prendre 2 ,4 ou 6 arguments.
Utilisateur anonyme
Modifié par qqchquicommenceparQ le 24/01/2013 à 22:02
Modifié par qqchquicommenceparQ le 24/01/2013 à 22:02
En fait, je ne vois pas vraiment d'intérêt à la boucle while principale (case n'initie pas une boucle). Peut-être un simple test suffirait.
Il faudrait que tu nous en dises davantage sur ce que doit faire ton script.
Il faudrait que tu nous en dises davantage sur ce que doit faire ton script.
En fait , je fais un case /esac pour appeler différentes méthodes.
Ma méthode hello prend n arguments ; puis appelle la méthode SearchName qui a besoin de deux arguments $1 $2 et génère un fichier.
Je voudrais pouvoir générer plusieurs fichiers en utilisant $1 et $2 , puis décaler les arguments pour recommencer .
Plutot que un while ,il faut faire un if comme ca : ?
Ma méthode hello prend n arguments ; puis appelle la méthode SearchName qui a besoin de deux arguments $1 $2 et génère un fichier.
Je voudrais pouvoir générer plusieurs fichiers en utilisant $1 et $2 , puis décaler les arguments pour recommencer .
Plutot que un while ,il faut faire un if comme ca : ?
if [ $# -ne 0 ];then SearchName "$1" "$2" cp toto.html tata.html echo "$#" shift 2 fi }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ah , c'est bon j'ai trouvé pourquoi je bouclais en infini dans la boucle while .
Il fallait mettre un $* derrière -a hello $@ ; shift $#;;
Il fallait mettre un $* derrière -a hello $@ ; shift $#;;
hello(){ while [ $# -gt 0 ];do SearchName "$1" "$2" cp toto.html tata.html shift 2 done } while test $# -ne 0; do case "$1" in -a) hello $@;shift $# ;; esac done