linux 中shell数组的应用
001、生成数组, 生成数组a
root@ubuntu2204:/home/test# a[0]=800 root@ubuntu2204:/home/test# a[1]=500 root@ubuntu2204:/home/test# a[2]="kkk" root@ubuntu2204:/home/test# a[3]="ggg" root@ubuntu2204:/home/test# a[4]="xxx" root@ubuntu2204:/home/test# a[5]=777 root@ubuntu2204:/home/test# a[6]=666
002、输出数组单个元素
root@ubuntu2204:/home/test# echo ${a[0]}
800
root@ubuntu2204:/home/test# echo ${a[4]}
xxx
003、批量输出数组元素
root@ubuntu2204:/home/test# for i in $(seq 0 5); do echo ${a[i]}; done 800 500 kkk ggg xxx 777 root@ubuntu2204:/home/test# for i in $(seq 0 6); do echo ${a[i]}; done 800 500 kkk ggg xxx 777 666
004、使用一行生成数组
root@ubuntu2204:/home/test# declare -a b=(111 "xxx" 555 800) root@ubuntu2204:/home/test# echo ${b[1]} xxx root@ubuntu2204:/home/test# echo ${b[3]} 800
005、在1行中打印整个数组
root@ubuntu2204:/home/test# declare -a a=(100 200 "xxx" "yyy") root@ubuntu2204:/home/test# echo ${a[@]} 100 200 xxx yyy
006、获取数组的长度
root@ubuntu2204:/home/test# declare -a a=(100 200 300 400) root@ubuntu2204:/home/test# echo ${#a[@]} 4 root@ubuntu2204:/home/test# declare -a b=(100 200 300 400 "xxx" "yyy") root@ubuntu2204:/home/test# echo ${#b[@]} 6
007、数组中单个元素的长度
root@ubuntu2204:/home/test# declare -a a=(100 33333 2 44) root@ubuntu2204:/home/test# echo ${#a[0]} 3 root@ubuntu2204:/home/test# echo ${#a[2]} 1 root@ubuntu2204:/home/test# echo ${#a[1]} 5 root@ubuntu2204:/home/test# echo ${#a[3]} 2
008、数组切片
root@ubuntu2204:/home/test# a=(100 "xxx" 200 888 999 "yyy" "zzz") root@ubuntu2204:/home/test# echo ${a[@]:2} ## 索引为2一直到最后的元素 200 888 999 yyy zzz root@ubuntu2204:/home/test# echo ${a[@]:2:3} ## 索引为2后增加3个元素 200 888 999
参考:https://www.linuxprobe.com/shell-array-example.html