永发信息网

bash怎么定义数组

答案:1  悬赏:0  手机版
解决时间 2021-11-28 20:07
  • 提问者网友:兔牙战士
  • 2021-11-27 23:10
bash怎么定义数组
最佳答案
  • 五星知识达人网友:由着我着迷
  • 2021-11-28 00:08
如果用标准的*NIX shell将不能使用bash的数组特性。虽然在Perl, Python, PHP及其他高级语言中数组已经不是一个强大的功能,但数组使用还是相当广泛。
BASH只支持一维数组,但参数个数没有限制。
声明一个数组:
declare -a array
如果没有声明,按数组方式直接赋值给变量,BASH也认作数组:
(1) array=(var1 var2 var3 ... varN)
(2) array=([0]=var1 [1]=var2 [2]=var3 ... [n]=varN)
(3) array[0]=var1
arrya[1]=var2
...
array[n]=varN
数组用法说明:
${array[n]} # 引用数组
${array[*]} 或${array[@]} # 数组所有成员
${!array[*]} 或${!array[@]} # 数组所有下标
${#array[*]} 或${#array[@]} # 数组元素个数
${#array[0]} # 数组第一个成员的长度
例如:

# COLOR=("red" "green" "yellow" "blue" [5]="orange")
# echo ${#COLOR[*]}
5
# echo ${!COLOR[*]}
0 1 2 3 5
# for item in ${COLOR[*]}
> do
> printf " %s/n" $item
> done
red
green
yellow
blue
orange

# for index in ${!COLOR[*]}
> do
> printf " %d/n" $index
> done
0
1
2
3
5
注意数组下标可以有间断,上面的例子就缺少下标4,可以用单个数组元素赋值方法补上:
# COLOR[4]="violet"
# echo ${!COLOR[*]}
0 1 2 3 4 5
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯