Problème de script aidez moi s'il vous plait
Samefly
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour tout le monde !
Bon voilà j'ai un petit script à faire pour les cours en shell qui demande d'afficher les arguments dans l'ordre lexicographique. Le script n'est pas compliqué en effet mais j'ai quelque soucis de syntaxe. Voici mon script :
for (( i=1; i<=$#; i++ ))
do
echo $$i ---> (c'est ici que ça foire je n'arrive pas à faire comprendre à la machine qu'il faut interpréter $$i soit $1 , $2 , $3, etc)
done
Si quelqu'un aurait la solution ça serait cool de la partager ! Je lui fais des bisous en échange :-D
Bon voilà j'ai un petit script à faire pour les cours en shell qui demande d'afficher les arguments dans l'ordre lexicographique. Le script n'est pas compliqué en effet mais j'ai quelque soucis de syntaxe. Voici mon script :
for (( i=1; i<=$#; i++ ))
do
echo $$i ---> (c'est ici que ça foire je n'arrive pas à faire comprendre à la machine qu'il faut interpréter $$i soit $1 , $2 , $3, etc)
done
Si quelqu'un aurait la solution ça serait cool de la partager ! Je lui fais des bisous en échange :-D
4 réponses
-
hello
for (( i=1; i<=$#; i++ )); do echo ${!i}; done -
-
Merci Flachy Joe j'ai trouvé la solution en parcourant la liste $* avec le for :
for i in $*
do
echo $i
done
Je dois faire la même chose avec le tant que et la pareil je suis bloqué avec cette histoire de $$i -
J'ai trouvé une solution sur un autre forum (désolé mais jeuxvidéo.com est plus rapide que vous malheureusement) :
while [ $# > 0 ]
Do
Écho $1
Shift
Done
ça me semble correct mais lorsque je lance mon script dans le terminal celui ci semble coincé dans une boucle infini