shell脚本中数组的基本用法

shell脚本中数组的基本用法,第1张

首先要告诉大家,Bash Shell 只支持一维数组,而且初始化的时候不用定义数组的大小。

(一) 定义数组,方法1:使用小括号赋值

            array1=(A B C D)或者array1=("A" "B" "C" "D")

            定义数组,方法2:使用数组下表挨个赋值

            array2[0]=a

            array2[1]=b

            可能会有朋友会问问什么不用declare声明也能用,在这跟大家拓展下,所有变量不用显式定义都能用作数组,所以用不用declare声明都可以

(二) 读取数组

            ${array[下标值]},例如:${array1[2]}

            若要获取数组中全部的值,使用${array[*]}或者${array[@]}

(三) 获取数组长度   ${#array1[*]},关键在加了个#

(四) 删除数组内容元素  unset ${array1[下标]} ,删除整个数组   unset array1

Bash环境可以这样。

#!/bin/bash

for ((i=1i<=100i++))

do

name[$i]=$i

echo ${name[$i]} #为方便检查,加了打印

done

通用点的(符合POSIX标准)可以这样:

#!/bin/sh

declare -a name

for i in `seq 100`

do

name[$i]=$i

echo ${name[$i]} #为方便检查,加了打印

done

bash手册 arrays章节第一段话的某一句:

数组的大小没有上限,也没有限制在连续对成员引用和赋值时有什么要求。数组以整数为下标,从 0 开始。

使用cat的话可以这样:

cat 123.txt | while read line

do

echo "$line"

done

123.txt的每行读取到变量line中并输出。

行处理用while read, 数组用 read -a :

#!/bin/bash

while read -a ARRAY

do

echo ${ARRAY[@]}

done <test

复制代码


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11282218.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存