如何在Linux中找到最后的位置参数

时间:2012-04-02 02:24:25

标签: linux bash

我希望找到最后一个位置参数。我知道找到参数的数量是$#,这在逻辑上是最后一个,但我需要找到并使用最后一个位置参数中的内容。

如果$#= 5,我想做5美元。

我试图做一些像$$#或$ {$#}这样的猜测,但无法得到它。

我需要使用它的实例是在if语句中或将其声明为另一个变量或使用echo。

我希望这很清楚。提前谢谢。

3 个答案:

答案 0 :(得分:17)

你想要${!#},它将参数计数与间接结合起来。

答案 1 :(得分:3)

这是另一种方式:

while [[ "$1" != "" ]];do
    last_parm=$1
    shift
done
echo $last_parm

进行测试:

$ ./test.sh 1 2 3 4 5
5

答案 2 :(得分:2)

这似乎是一种更直接的方法:

${@: -1}

更多信息here。我不确定Bash之外的可移植性。