获取 $@ / argv / 参数数组的最后一个元素而不使用 eval

获取 $@ / argv / 参数数组的最后一个元素而不使用 eval

如果我做:

set a b c

如何访问 的最后一个元素$@,即c

我最初想为$@数组添加下标:

"${@[$#-1]}"

但:

bash: ${@[$#-1]}: bad substitution

我最终想出了:

eval echo "\$$#"

有没有办法获得$@without的最后一个元素eval

是首先将其复制到另一个数组并访问的唯一方法吗${copy[-1]}

答案1

伊尔卡丘建议非常可读:

echo "${@:$#}"

相关内容