linux shell在编程方面比windows 批处理强大太多,无论是在循环、运算。已经数据类型方面都是不能比较的。 下面是个人在使用时候,对它在数组方面一些操作进行的总结。
1.数组定义
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo $a
1
一对括号表示是数组,数组元素用“空格”符号分割开。
2.数组读取与赋值
[chengmo@centos5 ~]$ echo ${#a[@]}
5
用${#数组名[@或*]} 可以得到数组长度
[chengmo@centos5 ~]$ echo ${a[2]}
3
[chengmo@centos5 ~]$ echo ${a[*]}
1 2 3 4 5
用${数组名[下标]} 下标是从0开始 下标是:*或者@ 得到整个数组内容
[chengmo@centos5 ~]$ a[1]=100
[chengmo@centos5 ~]$ echo ${a[*]}
1 100 3 4 5
[chengmo@centos5 ~]$ a[5]=100
[chengmo@centos5 ~]$ echo ${a[*]}
1 100 3 4 5 100
直接通过 数组名[下标] 就可以对其进行引用赋值,如果下标不存在,自动添加新一个数组元素
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ unset a
[chengmo@centos5 ~]$ echo ${a[*]}
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ unset a[1]
[chengmo@centos5 ~]$ echo ${a[*]}
1 3 4 5
[chengmo@centos5 ~]$ echo ${#a[*]}
4
直接通过:unset 数组[下标] 可以清除相应的元素,不带下标,清除整个数据。
3.特殊使用
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo ${a[@]:0:3}
1 2 3
[chengmo@centos5 ~]$ echo ${a[@]:1:4}
2 3 4 5
[chengmo@centos5 ~]$ c=(${a[@]:1:4})
[chengmo@centos5 ~]$ echo ${#c[@]}
4
[chengmo@centos5 ~]$ echo ${c[*]}
2 3 4 5
直接通过 ${数组名[@或*]:起始位置:长度} 切片原先数组,返回是字符串,中间用“空格”分开,因此如果加上”()”,将得到切片数组,上面例子:c 就是一个新数据。
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo ${a[@]/3/100}
1 2 100 4 5
[chengmo@centos5 ~]$ echo ${a[@]}
1 2 3 4 5
[chengmo@centos5 ~]$ a=(${a[@]/3/100})
[chengmo@centos5 ~]$ echo ${a[@]}
1 2 100 4 5
调用方法是:${数组名[@或*]/查找字符/替换字符} 该操作不会改变原先数组内容,如果需要修改,可以看上面例子,重新定义数据。
假设有数组名为ARR,则初始化的一种方法是:
ARR=(2 4 6 8)
其中,括号里的各项使用空格来分隔。
遍历数组的方法为:
for NUM in${ARR[*]}
do
echo $NUM
done
其中,每一次循环过程中,数组里的当前元素均被保存到NUM变量中,使用即可。
分享到:
相关推荐
本文将详细介绍如何使用 Linux Shell 来找出一个包含多个一维数组的多维数组中的最大值和最小值。 #### 核心知识点: 1. **Shell 数组的定义与使用** 2. **Shell 脚本中的循环结构** 3. **条件判断与变量赋值** 4....
在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为: 代码如下:数组名=(值1 值2 … 值n) 例如: 代码如下: array_name=(value0 value1 value2 value3) 或者 代码如下: array_...
在Linux Shell中,数组的使用技巧包括创建、读取、赋值、删除以及一些特殊操作,如分片、替换等。 首先,创建数组非常简单。例如: ```bash a=(1 2 3 4 5) ``` 这创建了一个名为`a`的数组,包含五个元素。数组元素...
**Shell数组** Shell也支持数组变量,可以存储多个值。例如: ```bash my_array=(apple orange banana) ``` 访问数组元素: ```bash echo ${my_array[0]} # 输出 apple ``` 增加数组元素: ```bash my_array+=(...
Shell脚本中的数组是一种非常实用的数据结构,它允许我们存储多个相关的值,并通过单个变量名来管理和操作这些...在实际应用中,根据需求选择合适的声明方式、遍历方法以及数组操作将极大地提升脚本的灵活性和实用性。
通过理解这些基本概念和操作,你就能在Linux Shell脚本中有效地使用数组,并进行遍历。记住,实践是学习的最佳途径,尝试编写一些示例脚本来巩固你的知识。在日常工作中,积累和整理这样的知识笔记,对于提高工作...
在Linux Shell编程中,动态生成数组是一项常见的任务,尤其在处理数据集合或执行循环操作时。本文主要介绍三种方法来动态创建数组,包括while循环法、for循环法以及使用seq命令生成数组法。 首先,我们来看while...
shell数组介绍: 代码如下: //数组变量定义: $ arr=(1 3 6 8 2 5 9 0 7 4) // 默认获取第一个元素 $ echo $arr // 通过下标访问,下面取的数组第二个元素,shell数组下标是从0开始 $ echo ${arr[1]} // 访问整个...
关联数组的使用使得在Shell脚本中处理复杂的数据结构成为可能,比如存储和操作具有特定标识符的数据,例如用户名、城市名等。通过索引,我们可以方便地对数据进行查找、修改和删除,极大地提高了编程的灵活性。 在...
在Linux系统中,Shell脚本是一种强大的自动化...在编写脚本时,记得根据实际需求选择适合的数组操作和循环控制,以便更有效地处理数据。如果你在实践中遇到任何问题,欢迎在相关论坛或社区提问,与其他开发者交流讨论。
本文就shell数组来做一个小的总结。在这里只讨论一维数组的情况,关于多维数组(事实上,你得用一维数组的方法来模拟),不涉及。这里包括数组的复制,计算,删除,替换。 1.数组的声明: 代码如下:1)array[key]=value ...
Linux Shell数组是Linux系统中处理一组相关数据的重要工具,它允许你存储多个值在一个单一的变量名下。本文将深入探讨Linux Shell数组的使用方法,包括声明、赋值、访问和遍历数组,以及如何在实际场景中应用数组,...
下面是个人在使用时候,对它在数组方面一些操作进行的总结。 1.数组定义 [chengmo@centos5 ~]$ a=(1 2 3 4 5) [chengmo@centos5 ~]$ echo $a 1 一对括号表示是数组,数组元素用“空格”符号分割开。...
了解这些基本的Linux Shell数组操作技巧,可以帮助你编写更复杂的Shell脚本,实现更高效的自动化任务。在实际应用中,数组能有效地管理和处理大量数据,提高工作效率。在编写脚本时,熟练运用数组会使代码更简洁,...
Shell命令在Linux系统中是操作系统与用户交互的接口,它们是可执行的程序,可以执行特定的操作。了解命令的选项和参数至关重要,这些参数用于定制命令的行为。例如,`1.7Shell命令的选项和参数在本质上到底是什么?...
PowerShell数组的使用例子,PowerShell中使用逗号给数组赋值,数组中可以存放各种不同类型的数据值。 PowerShell中使用逗号给数组赋值,数组中可以存放各种不同类型的数据值。 数组的赋值 先看下面一个简单的例子: ...
下面是个人在使用时候,对它在数组方面一些操作进行的总结。 1.数组定义 [chengmo@centos5 ~]$ a=(1 2 3 4 5) [chengmo@centos5 ~]$ echo $a 一对括号表示是数组,数组元素用“空格”符号分割开。 2.数组读取与...