bash 脚本回显多个列表

问题描述 投票:0回答:1

我需要像这样回显多个列表

list_0=(1 2 3 4 5 6)
list_1=(7 8 9)
list_2=(22 7 34 88)
.....
.....
list_99=(23 67 80)

我有这个版本,但每次我都必须在 for comand 中声明新列表

for nums in ${list_0[@]} ${list_1[@]} ${list_2[@]} ......... ${list_99[@]}
do
echo $nums
done

有没有可能让浏览列表变得更容易?

类似这样的事情

x=0
for nums in ${list_(x until x=99)[@]}
do
echo $nums
done

谢谢你

arrays bash list echo
1个回答
0
投票

要显示您的

lists
的内容:

declare -p  ${!list_*}
declare -a list_0=([0]="1" [1]="2" [2]="3" [3]="4" [4]="5" [5]="6")
declare -a list_1=([0]="7" [1]="8" [2]="9")
declare -a list_2=([0]="22" [1]="7" [2]="34" [3]="88")
declare -a list_99=([0]="23" [1]="67" [2]="80")

迭代它们:

for i in "${!list_@}";do
    declare -n list=$i
    echo "$i"
    printf " -- %s\n" "${list[@]}"
done
list_0
 -- 1
 -- 2
 -- 3
 -- 4
 -- 5
 -- 6
list_1
 -- 7
 -- 8
 -- 9
list_2
 -- 22
 -- 7
 -- 34
 -- 88
list_99
 -- 23
 -- 67
 -- 80
© www.soinside.com 2019 - 2024. All rights reserved.