linux数组变量

shell中数组定义:

可以整体定义数组:

ARRAY_NAME=(value0 value1 value2 value3 ...)

或者:

ARRAY_NAME=(
value0
value1
value2
value3
...
)

此时数组的下标默认是从0开始的,还可以单独定义数组的各个分量:

ARRAY_NAME[0]=value0
ARRAY_NAME[1]=value1
ARRAY_NAME[n]=valuen
...

可以不使用连续的下标,而且下标的范围没有限制。

取得数组中的元素:

valuen=${ARRAY_NAME[n]}

一次性将数组中所有元素的值得到:

echo ${ARRAY_NAME[@]}

取得数组元素的个数

length=${#ARRAY_NAME[@]}  或者  length=${#ARRAY_NAME[*]}

取得数组单个元素的长度

lengthn=${#ARRAY_NAME[n]}

数组遍历:

使用while循环遍历数组:

i=0
length=${#ARRAY_NAME[*]}
while [ $i -lt $length ] ; do
valuei=${ARRAY_NAME[$i]}
...
let i++
done

使用for循环遍历数组:

for value in ${ARRAY_NAME[*]} ; do
valuei=value
...
done

清空数组:

清空单个元素:

ARRAY_NAME[n]=

将整个数组清空:

unset ARRAY_NAME
或者:
ARRAY_NAME=

应该注意unset后的变量不应该加$。加$会清空以ARRAY_NAME的值为名称的变量。

时间: 2024-12-29 01:51:49

linux数组变量的相关文章

Linux命令行--使用linux环境变量(转)

5.1 什么时环境变量 bash shell用一个成为环境变量的特性来存储有关的shell回话和工作环境的信息,这是它们成为环境变量的原因.它允许你在内存中存储数据,以便运行在账户.系统.shell的特性以及任何其他你需要存储的数据 环境变量的分类 全局变量 局部变量 5.1.1 全局环境变量 全局环境变量不仅对shell会话可见,而且对所有shell创建的子进程也可见,局部变量只是对创建的他们的shell可见 这对全局环境变量对那些子进程中需要获得父进程信息的程序来说非常有用 系统环境变量一律

Linux数组array基础

Linux数组array基础[${a[*]}和$a的区别] Bash中,数组变量的赋值有两种方法: (1) name = (value1 ... valuen) 此时下标从0开始 (2) name[index] = value 下面以一个简单的脚本来说明,脚本内容如下: #!/bin/bash #定义数组 A=(a b c d e f ) #把数组按字符串显示输出 echo ${A[@]} #数组的长度表示${#A[*]} len=${#A[*]} echo ${#A[*]} #屏幕显示:6 #

bash shell数组变量

一.定义数组变量 1.语法 (1)ArrayName=(parameter1 parameter2 ...) 例1.定义一个数组名为name,值为claire,obama,george的数组 name=(claire obama george ) (2)ArrayName=( parameter1 parameter2 ... ) 同样我们将例1改成第二种方式 name=( claire obama george ) 二.函数的访问 (1)下标访问 ${ArrayName[0]}   例1中就是

Linux环境变量的设置和查看方法

1. 显示环境变量HOME $ echo $HOME /home/redbooks 2. 设置一个新的环境变量hello $ export HELLO="Hello!" $ echo $HELLO Hello! 3. 使用env命令显示所有的环境变量 $ env HOSTNAME=redbooks.safe.org ... 4. 使用set命令显示所有本地定义的Shell变量 $ set BASH=/bin/bash BASH_VERSINFO=([0]="2"[1

Linux shell 变量 数学 运算

Abstract : 1)  Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算: 2)Linux shell 中使用 expr 与 bc 两个程序实现高级运算: 1, Linux shell 变量的基本运算 数值作为常规变量直接赋值给变量,并且以字符串形式保存. 1.1 let 命令可以用于直接执行基本操作:         当我使用 let 的时候,我们不使用 $ 符号引用变量. no1=7; no2=8; echo "---

Linux环境变量的修改(永久,暂时)

Linux修改环境变量,很简单但很重要 一.Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1. 永久的:需要修改配置文件,变量永久生效. 2. 临时的:使用export命令行声明即可,变量在关闭shell时失效. 二.设置变量的三种方法 1. 在/etc/profile文件中添加变量[对所有用户生效(永久的)] 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”. 例如:编辑/etc/profile文件,添加CL

Linux 环境变量 $PATH

我们知道查阅文件属性的指令 ls 完整文件名为:/bin/ls(这是绝对路径),那为什么可以在任何地方执行/bin/ls 这个指令呢?  为什么在任何目录下输入 ls 就一定可以显示出一些讯息而不会说找不到该 /bin/ls 指令呢? 这是因为环境变量 PATH ! 当我们在执行一个指令的时候,比如ls,系统会依照 PATH 的每个 PATH 定义的目录下搜寻文件名为 ls 的可执行文件, 如果在 PATH 定义的目录中含有多个文件名为 ls 的可执行文件,那么先搜寻到的同名指令先被执行! ec

Ubuntu Linux系统环境变量配置文件

Ubuntu Linux系统环境变量配置文件: /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行./etc /environment : 在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量.~/.profile :  在登录时用到的第三个文件 是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行

数组变量和指针的关系

老师说数组变量可以被看作是const的指针变量,到底是"可以被看作",还是"就是"指针呢? 用程序证据来说明你的观点. (提示:如果对const指针的所有的操作都可以对数组变量做,而且结果一致,就说明数组变量就是指针:如果有某个操作不能做,或者结果不一致,就说明不是指针) #include <stdio.h> int main(){ int a[] = {1,1,2,3,4,5,6,7,8,9,0,}; int *const p = &a[0];