J'essaie de dire à unix d'imprimer les arguments de ligne de commande transmis à un script Bourne Shell, mais cela ne fonctionne pas. Je reçois la valeur de x à l'instruction echo, et non l'argument de la ligne de commande à l'emplacement désiré.Argument de ligne de commande UNIX faisant référence à des problèmes
C'est ce que je veux:
abcd ./Run
a b c d
ce que je reçois:
Quoi ' s continue? Je sais que UNIX est confus selon ce que je fais référence dans le script shell (la variable x ou l'argument de ligne de commande à la position de x'th ». Comment puis-je préciser ce que je veux dire?
#!/bin/sh
x=1
until [ $x -gt $# ]
do
echo $x
x=`expr $x + 1`
done
EDIT : Merci à tous pour les réponses, mais maintenant j'ai une autre question: et si vous vouliez commencer à compter non sur le premier argument, mais sur le second ou sur le troisième, que ferais-je pour dire à UNIX de traiter les éléments commençant à la deuxième position, et ignorer la première?
Hmm ... d'accord. Mais que faire si je voulais commencer à imprimer au second argument? Donc, au lieu d'imprimer un b c d, il faudrait simplement imprimer b c d? – Waffles