(一) 定义数组,方法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
复制代码
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)