如何获取/ bin / sh函数的最后一个参数
有什么更好的实施方法print_last_arg? #!/bin/sh print_last_arg () { eval "echo \${$#}" # this hurts } print_last_arg foo bar baz # baz (如果#!/usr/bin/zsh不是这样,那么#!/bin/sh我不知道该怎么办。我的问题是找到一种合理的方法来实现#!/bin/sh。) 编辑:上面只是一个愚蠢的例子。我的目标不是打印最后一个参数,而是要有一种方法来引用Shell函数中的最后一个参数。 EDIT2:对于这样一个措辞不清楚的问题,我深表歉意。 我希望这次能做对。 如果/bin/zsh不是/bin/sh,我可以写这样的东西 #!/bin/zsh print_last_arg () { local last_arg=$argv[$#] echo $last_arg } 该表达式$argv[$#]是我在第一次EDIT中描述的一个示例,该引用是引用Shell函数中最后一个参数的方式。 因此,我真的应该像这样写我的原始示例: print_last_arg () { local last_arg=$(eval "echo \${$#}") # but this hurts even more echo $last_arg } …