Je cherche à trouver le dernier paramètre de positionnement. Je sais que le nombre de paramètres est $ # qui est logiquement le dernier, mais j'ai besoin de trouver et d'utiliser ce qui se trouve dans le dernier paramètre de positionnement. p>
Ce serait comme si $ # = 5, je veux faire 5 $. p>
J'ai essayé de faire quelque chose comme $$ # ou $ {$ #} comme suppose mais je ne peux pas l'obtenir. P>
Les cas où j'aurais besoin d'utiliser, c'est dans une instruction IF ou la déclarant à une autre variable ou avec ECHO. P>
J'espère que c'est clair. Merci d'avance. P>
3 Réponses :
vous voulez $ {! #} code>, qui combine le nombre d'arguments avec indirection. P>
et eval last = \ $$ # code> pour les obus qui manquent d'indirection via ! code>.
Cela semble être ce que je cherche. Merci.
Et je suppose que vous ne pouvez pas attribuer à $ {! #} Comme une variable si c'est ce que vous vouliez dire. Mais eval Last = \ $$ # a travaillé pour moi. Je pense que c'est ce que vous vouliez dire par manque d'indirection
Voici un autre moyen:
$ ./test.sh 1 2 3 4 5 5
Il est très important de noter que cette méthode élimine tous les paramètres de position et fait tout sauf la dernière inaccessible. Dans le contexte limité de la question, il s'agit d'une réponse correcte, dans la pratique, il aura des effets secondaires indésirables pour de nombreux scénarios réalistes. Cette approche n'est acceptable que si vous ne vous souciez vraiment de rien que le dernier paramètre.
Cela semble être une approche plus directe: quelques informations supplémentaires Ici . Je ne suis pas sûr de la portabilité en dehors de Bash. P> p>
Est-ce pour une fonction shell ou essayez-vous d'obtenir le dernier argument de la ligne de commande précédente?