加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 如何删除数组中的元素,然后在Shell脚本中移动数组?

发布时间:2020-12-15 19:01:46 所属栏目:安全 来源:网络整理
导读:首先让我清楚地说明我的问题: 例如:让我们假装这是我的数组,(元素无关紧要,因为我的实际代码有所不同): array=(jim 0 26 chris billy 78 hello foo bar) 现在说我要删除以下元素: chris 78 hello 所以我做了:在循环数组时取消设置数组[$i]. 这会正确地
首先让我清楚地说明我的问题:

例如:让我们假装这是我的数组,(元素无关紧要,因为我的实际代码有所不同):

array=(jim 0 26 chris billy 78 hello foo bar)

现在说我要删除以下元素:

chris 78 hello

所以我做了:在循环数组时取消设置数组[$i].
这会正确地删除元素,但是,我最终得到一个如下所示的数组:

array=(jim 0 26 '' billy '' '' foo bar)

我需要它看起来像这样:

array=(jim 0 26 billy foo bar)

其中jim在索引0,0 @ 1,26 @等处.

如何删除数组中的元素并移动其他元素,以便数组中没有空/空格?

谢谢!

尝试这个:
$array=( "one two" "three four" "five six" )
$unset array[1]
$array=( "${array[@]}" )
$echo ${array[0]}
one two
$echo ${array[1]}
five six

Shell数组实际上不是用作可以添加和删除项目的数据结构(它们主要用于为类似情况提供第二级引用)

arr=( "one two" "three four" )
somecommand "${arr[@]}"

为一些命令提供两个而不是四个参数.但这应该适用于大多数情况.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读