在我的/bin/sh
脚本中,我需要传递不确定数量的位置参数,并获取最后一个(将最后一个赋值给variable $LAST
),然后从$@
例如,我用4个参数调用脚本:
./myscript.sh AAA BBB CCC DDD
在脚本中,我需要回显以下内容:
echo $LAST
DDD
echo $@
AAA BBB CCC
我该如何实现?
使用循环将除最后一个参数外的所有参数移动到位置参数列表的末尾;因此,最后一个可以成为第一个,可以被引用$1
,也可以使用将其从列表中删除shift
。
#!/bin/sh -
count=0
until test $((count+=1)) -ge $#
do
set -- "$@" "$1"
shift
done
LAST=${1-}
shift $((!!$#))
echo "$LAST"
echo "$@"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句