6
votes

ZSH: Accédez à l'argument de ligne de commande de dernière commande donnée à un script

Je veux obtenir le dernier élément de $ * code>. Le meilleur que j'ai trouvé jusqu'à présent est:

 last=`eval "echo \\\$$#"`

zsh

0 commentaires

3 Réponses :


9
votes

dans ZSH, vous pouvez utiliser le p paramètre drapeau d'expansion ou traiter @ en tant que tableau contenant les paramètres de position: xxx

un moyen qui fonctionne dans toutes les coquilles de style Bourne, y compris ZSH, est xxx

(Vous étiez sur la bonne voie, mais en cours d'exécution echo juste pour obtenir sa sortie est inutile.)


0 commentaires

9
votes
${@[-n]}

0 commentaires

0
votes

L'expansion des paramètres du côlon n'est pas dans POSIX, mais cela fonctionne au moins ZSH, Bash et KSH: xxx

quand il n'y a pas d'arguments, $ {@: $ #} < / code> est traité comme 0 $ dans zsh et ksh mais aussi vide dans Bash: xxx


0 commentaires