返回顶部
首页 > 资讯 > 精选 >Shell数组如何添加元素及注意事项
  • 630
分享到

Shell数组如何添加元素及注意事项

2023-06-09 11:06:28 630人浏览 安东尼
摘要

这篇文章给大家分享的是有关shell数组如何添加元素及注意事项的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。直接下标添加array_name[index]=value最简单的添加方式,直接用下标index为数组元

这篇文章给大家分享的是有关shell数组如何添加元素及注意事项的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

直接下标添加

array_name[index]=value

最简单的添加方式,直接用下标index为数组元素赋值,在使用时需要注意的是就是需要确保下标index处原本是没有值的,否则会替换index处原本的值。

数组长度添加

array_name[${#array_name[@]}]=value#或array_name[${#array_name[*]}]=value

以数组长度为下标添加,每次只能增加一个元素。但此方法有一个前提,就是数组中的元素下标必须是连续的,否则会存在替换已有元素的风险。例如:

arr=([1]="a" [2]="b")echo ${arr[@]}arr[${#arr[@]}]="c"echo ${arr[@]}

实际上并有添加元素,而是将下标为2的元素值“b”替换为了“c”。

重新创建数组

array_name=("${array_name[@]}" value1 ... valueN)

 这种方式不需要下标连续,可同时添加多个元素,但是有一些要注意的地方:

首先,使用此方式添加元素后,数组中原有元素的下标会重置,会从0开始变成连续的,如果不希望改变下标则不能使用这种方式。

其次,双引号不能省略,否则,当数组array_name中存在包含空格的元素时会按空格将元素拆分成多个。

最后,不能将“@”替换为“*”,虽然在输出数组元素时可以相互替换,如果替换为“*”,不加双引号时与“@”的表现一致,加双引号时,会将数组array_name中的所有元素作为一个元素添加到数组中。类似于特殊变量$@和$*的区别。

#!/bin/basharr1=()initArray(){  arr1=([2]="a b" [3]=2 [5]=4)}showArray(){  echo "Elements in arr1: ${arr1[@]}"  echo "Length of arr1: ${#arr1[@]}"  echo "The 3rd elements is: ${arr1[2]}"  echo}initArrayecho "original arr1:"showArrayecho "add new elements 3 and 5"echo "--------------------"echo "use @ without quote"arr1=(${arr1[@]} 3 5)showArrayinitArrayecho "use * without quote"arr1=(${arr1[*]} 3 5)showArrayinitArrayecho "use @ with quote"arr1=("${arr1[@]}" 3 5)showArrayinitArrayecho "use * with quote"arr1=("${arr1[*]}" 3 5)showArray

运行结果为:

original arr1:
Elements in arr1: a b 2 4
Length of arr1: 3
The 3rd elements is: a b
 
add new elements 3 and 5
--------------------
use @ without quote
Elements in arr1: a b 2 4 3 5
Length of arr1: 6
The 3rd elements is: 2
 
use * without quote
Elements in arr1: a b 2 4 3 5
Length of arr1: 6
The 3rd elements is: 2
 
use @ with quote
Elements in arr1: a b 2 4 3 5
Length of arr1: 5
The 3rd elements is: 4
 
use * with quote
Elements in arr1: a b 2 4 3 5
Length of arr1: 3
The 3rd elements is: 5

赋值运算符+=

array_name+=(value1 ... valueN)

 这种方式不需要元素下标连续,可以添加多个元素,添加后元素下标不会重置,不存在元素覆盖的风险。唯一要注意的就是“+=”前后不能有空格,并且后面的待添加元素必须用“()”包围起来,并且多个元素用空格分隔。新添加的元素的下标取决于原本数组中最后有值的元素的下标。

#!/bin/basharr1=()initArray(){  arr1=([2]="a b" [3]=2 [5]=4)}showArray(){  echo "Elements in arr1: ${arr1[@]}"  echo "Length of arr1: ${#arr1[@]}"  echo "The 3rd elements is: ${arr1[2]}"  echo}initArrayecho "original arr1:"showArrayecho "add new elements 3 and 5"echo "--------------------"echo "use += "arr1+=(3 5)showArrayecho "The 8th elements is: ${arr1[7]}"

运行结果为:

original arr1:
Elements in arr1: a b 2 4
Length of arr1: 3
The 3rd elements is: a b
 
add new elements 3 and 5
--------------------
use +=
Elements in arr1: a b 2 4 3 5
Length of arr1: 5
The 3rd elements is: a b
 
The 8th elements is: 5

数组中原本的元素没有改变,新添加的元素下标是在最后有值的元素下标5的基础上递增的。

总结

添加方式语法

可添加多个元素

下标必须连续添加后下标改变可能覆盖原有元素
直接下标添加array_name[index]=value
数组长度添加

array_name[${#array_name[@]}]=value

或array_name[${#array_name[*]}]=value

重新创建数组array_name=("${array_name[@]}" value1 ... valueN)
赋值运算符+=array_name+=(value1 ... valueN)

感谢各位的阅读!关于“Shell数组如何添加元素及注意事项”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Shell数组如何添加元素及注意事项

本文链接: https://lsjlt.com/news/255798.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Shell数组如何添加元素及注意事项
    这篇文章给大家分享的是有关Shell数组如何添加元素及注意事项的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。直接下标添加array_name[index]=value最简单的添加方式,直接用下标index为数组元...
    99+
    2023-06-09
  • Shell数组添加元素及注意事项
    向Shell数组添加元素有多种方法,每种方法在使用时都有一些需要注意的地方,没有见过这方面的总结资料,所以自己总结一下。 直接下标添加 array_name[index]=value 最简单的添加方式,直接用下...
    99+
    2022-06-04
    Shell 数组添加元素 Shell数组添加
  • python数组中如何添加元素
    在Python中,可以使用`append()`方法向数组中添加元素。例如:```my_array = [1, 2, 3]my_arr...
    99+
    2023-09-26
    python
  • 如何添加html元素事件
    添加html元素事件有4种方法:1、通过HTML元素属性添加事件;2、通过对象属性添加事件;3、通过W3C监听方式添加事件,语法格式“elemennt.addEventListener(事件名,处理函数引用,true || false)”;...
    99+
    2024-04-02
  • php如何添加二维数组元素
    二维数组是一种嵌套的数据结构,它由多个一维数组组成。在 PHP 中,添加二维数组元素需要使用一个或多个数组函数,本文将介绍如何添加二维数组元素。使用 array_push 函数array_push 函数是 PHP 提供的一个向数组尾部添加元...
    99+
    2023-05-19
  • java如何往数组里添加元素
    在Java中,数组的长度是固定的,一旦创建后就无法改变。但可以通过创建一个新的数组,并将原数组的元素复制到新数组中来实现往数组中添加元素的效果。下面是一个示例代码:```javapublic class Main {public sta...
    99+
    2023-08-09
    java
  • python如何向数组中添加元素
    在Python中,可以使用append()方法向数组中添加元素。append()方法将元素添加到数组的末尾。以下是一个示例代码:``...
    99+
    2023-08-29
    python
  • php如何在数组末尾添加元素
    在PHP中,可以使用`array_push()`函数或者直接给数组赋值的方式在数组末尾添加元素。1. 使用`array_push()...
    99+
    2023-10-09
    php
  • PHP如何在数组的首尾添加元素
    本篇内容主要讲解“PHP如何在数组的首尾添加元素”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP如何在数组的首尾添加元素”吧!在PHP中想要完成在数组的首尾插入元素的话,需要通过array_...
    99+
    2023-06-25
  • sql中添加数据要注意哪些事项
    在SQL中添加数据时,需要注意以下事项:1. 表结构:确保要插入数据的表已经正确创建,并且字段类型、长度、约束等与要插入的数据相匹配...
    99+
    2023-10-10
    sql
  • 如何给JS中的数组开头添加元素
    目录JS数组开头添加元素1.使用Array.unshift()方法2.使用扩展运算符(…)3.使用Aarry.concat()方法向数组的开头添加一个或更多元...
    99+
    2022-11-13
    数组添加元素 JS中的数组 数组开头添加元素 JS数组添加元素
  • 如何添加javascript数组n乘以相同的元素
    var fruits = [];fruits.push("lemon", "lemon", "lemon", "...
    99+
    2023-06-03
  • MySQL数据表添加字段要注意哪些事项
    在MySQL数据表中添加字段时,需要注意以下几个事项:1. 数据表的设计要满足数据库范式的要求,避免冗余和重复的数据。2. 添加字段...
    99+
    2023-09-08
    MySQL
  • Android 如何使用log4j及注意事项
     Android 使用log4j 前言:  如果要直接在android工程中使用log4j,是有点问题的,会报如下的错: 11-23 09:44:56...
    99+
    2022-06-06
    log4j log Android
  • php数组中如何增加元素
    这篇文章给大家分享的是有关php数组中如何增加元素的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与非主流的数据库。4、面向对象...
    99+
    2023-06-15
  • php array数组如何增加元素
    本篇内容主要讲解“php array数组如何增加元素”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php array数组如何增加元素”吧!增加方法:1、用“array_unshift($arr,...
    99+
    2023-06-25
  • php如何往数组中增加数组元素
    这篇“php如何往数组中增加数组元素”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何往数组中增加数组元素”文章吧。4...
    99+
    2023-07-04
  • php 如何向数组中增加元素
    本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。php 如何向数组中增加元素?PHP向数组中添加元素PHP向数组中添加元素的方式有两种:array_push() , $arr[]第一种:$arr = array(); ...
    99+
    2015-03-14
    php 数组
  • JavaScript如何实现数组元素相加
    这篇文章主要介绍“JavaScript如何实现数组元素相加”,在日常操作中,相信很多人在JavaScript如何实现数组元素相加问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • php如何往数组内增加元素
    这篇文章主要为大家展示了“php如何往数组内增加元素”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php如何往数组内增加元素”这篇文章吧。在PHP中,可以利用“array_push()”函数往数...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作