我需要像这样回显多个列表
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
谢谢你
要显示您的
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