【发布时间】:2020-09-25 09:09:03
【问题描述】:
在我的/bin/sh 脚本中,我需要传递不确定数量的位置参数,并获取最后一个(将最后一个分配给变量$LAST),然后从$@ 中删除最后一个参数
例如,我用 4 个参数调用我的脚本:
./myscript.sh AAA BBB CCC DDD
在我的脚本中,我需要回显以下内容:
echo $LAST
DDD
echo $@
AAA BBB CCC
我怎样才能做到这一点?
【问题讨论】:
-
@l0b0 - 不,它没有。这些解决方案仅适用于 bash。
-
@400theCat, Re "...only work in bash":更正 -- Getting the last argument passed to a shell script 的 28 个答案中有 一些 是 @仅限 987654328@,但其他一些答案适用于 POSIX 外壳。
-
@agc 但是,该问题并未询问如何删除最后一个位置参数。
-
将脚本更改为将
DDD作为第一个参数,然后是AAA、BBB和CCC会容易得多。
标签: shell command-line sh