19 À partir du Guide de script Bash avancé, pour obtenir le dernier argument de ligne de commande: Ou: lastarg=${!#} Il s'agit d'une référence indirecte à la $#variable. Notez que lastarg=${!$#}cela ne fonctionne pas. bash flerb la source 4 En passant, l'ABS est assez mal vu comme référence; voir wooledge.org/~greybot/meta/abs pour l'histoire de son factoïde dans le canal irc.freenode.org # bash. Le Bash-Hackers 'Wiki et le Wooledge BashGuide ne sont pas aussi tristement célèbres pour la densité des inexactitudes. Dans ce dernier, les références indirectes sont traitées en détail dans BashFAQ # 6 ; dans l'ancien, wiki.bash-hackers.org/syntax/pe#indirection Charles Duffy 1 Juste une question: n'est-ce pas !$plus simple et pareil? unxnut Réponses: 27 Comme il est dit, c'est une référence indirecte. Prenons l'exemple suivant: $ var=test $ test='Hello, world' $ echo ${!var} Hello, world Maintenant, si je devais définir les paramètres de position suivants: $ set -- one two three Et $#représentera le nombre total de paramètres positionnels: $ echo $# 3 Cela signifie que lorsque je l'appelle comme ${!#}je dis, donnez-moi la valeur du paramètre nommé 3: $ echo ${!#} three Jesse_b la source
27 Comme il est dit, c'est une référence indirecte. Prenons l'exemple suivant: $ var=test $ test='Hello, world' $ echo ${!var} Hello, world Maintenant, si je devais définir les paramètres de position suivants: $ set -- one two three Et $#représentera le nombre total de paramètres positionnels: $ echo $# 3 Cela signifie que lorsque je l'appelle comme ${!#}je dis, donnez-moi la valeur du paramètre nommé 3: $ echo ${!#} three Jesse_b la source
!$
plus simple et pareil?Réponses:
Comme il est dit, c'est une référence indirecte. Prenons l'exemple suivant:
Maintenant, si je devais définir les paramètres de position suivants:
Et
$#
représentera le nombre total de paramètres positionnels:Cela signifie que lorsque je l'appelle comme
${!#}
je dis, donnez-moi la valeur du paramètre nommé3
:la source