将最后一个位置参数分配给变量并将其从“ $ @”中删除

400猫

在我的/bin/sh脚本中,我需要传递不确定数量的位置参数,并获取最后一个(将最后一个赋值给variable $LAST),然后从$@

例如,我用4个参数调用脚本:

./myscript.sh AAA BBB CCC DDD

在脚本中,我需要回显以下内容:

echo $LAST
DDD

echo $@
AAA BBB CCC

我该如何实现?

oguz ismail

使用循环将除最后一个参数外的所有参数移动到位置参数列表的末尾;因此,最后一个可以成为第一个,可以被引用$1,也可以使用将其从列表中删除shift

#!/bin/sh -
count=0
until test $((count+=1)) -ge $#
do
  set -- "$@" "$1"
  shift
done

LAST=${1-}
shift $((!!$#))

echo "$LAST"
echo "$@"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Postman - 从 Get 请求的响应中获取最后一个 id 并将其分配给变量

从列表中取出一个元素并将其分配给一个变量

在 Swift 中声明一个类类型的变量并将其分配给不同的变量

在 bash 变量中应用 sed 并将其分配给另一个

将 PWD 最后一个值分配给 perl 模块中的变量

将函数参数分配给C中的局部静态变量,并在递归中保留第一个值

在函数中获取变量并将其分配给其范围之外的另一个变量

循环遍历数组中的第一级并将其分配给一个变量

C:初始化一个结构并将其分配给函数参数中的指针

Bash 脚本在 file.dev 中查找某些文本并将其分配给一个变量

将变量分配给一个选择器并使最后一个子项在 javascript 中工作

删除碎片并将其空间分配给另一个

我想跳过对象中的最后一个属性,并将其值分配给上一个属性

过滤数组中的对象并将其分配给另一个对象

可以创建一个对象,将其分配给一个变量,然后将变量添加到一行中的列表中吗?

如何从组件中获取变量值并将其分配给 vuejs 中另一个组件中的变量

在Kotlin中,如何从字符串中获取一个类并将其分配给具有超类类型的变量?

ruby将数组分配给另一个变量,并且从该分配变量中删除元素时,也会在原始数组上删除该元素

将url_for分配给变量并将其用作render_template中的参数不起作用

在数组中每 X 个位置插入一个项目并“尝试分配给只读属性”

将变量的值存储在另一个变量中,然后在python的循环中将其重新分配给该变量

将一行中的每个单词分配给一个变量

为每个组生成一个随机数并将其分配给组中的所有行

SWIFT:将结构数组中某项的所有值分配给一个变量

将mltiple值分配给VBA中的一个变量进行访问

如何将另一个文件中的变量分配给类常量?

将$ @分配给Shell函数中的另一个变量

将函数分配给python中的变量

将函数分配给javascript中的变量?