Saya ingin menulis skrip untuk referensi beberapa array dari array lain yang menyimpan nama-nama variabel array ini.
Inilah kode saya sejauh ini:
#!/bin/bash
array1=('array1string1' 'array1string2')
array2=('array2string1' 'array2string2')
array_names=('array1' 'array2')
for a in ${array_names[@]}
do
for b in ${a[@]}
do
echo $b
done
done
Saya ingin output memindai kedua array (dari luar untuk loop) dan mencetak masing-masing string di dalam untuk loop yang memanggil gema. Output saya saat ini hanya menunjukkan kepada saya:
array1
array2
Saya akan berterima kasih atas petunjuk tentang hal ini. Terima kasih!
${a[@]}
untuk ${!a}
melakukan apa yang Anda inginkan (saya pikir).
${!a[@]}
memberikan panjang array a
.
${!a}
hanya memberi saya elemen pertama.
for b in "${array1[@]}" "${array2[@]}"; do ...; done
?