Edg_cdi dizisindeki elementler üzerinde for döngüsünü çalıştırmam gerekiyor, ancak girdi parametremin seçildiğinden dolayı bu dizi olduğunu biliyorum 'cdi'. Eğer seçildiyse = 'cdt' (ya da diğerleri) seçilen dizi farklı olurdu.
chosen='cdi'
edg_cdi=('40' '46' '37' '43')
edg_cdt=('69' '24' '177' '25')
string='edg_'
wholename=$string$chosen
for i in "${ WHAT_TO_WRITE_HERE [@]}"
do
echo $i
done
İstenilen çıktı dört yankıdır:
40
46
37
43
"seçilen dizi farklı olur" derken, farklı verileri olan bir dizi veya basit bir değişken gibi farklı bir tür mü demek istiyorsunuz? Yine de, döngü için sağladığınız kod için "WHAT_TO_WRITE_HERE" yerine $ {wholename [@]}
—
AtomiX84
@ Pimp Suyu BT. Sorun değişken ismini bilmiyorum. Seçilen = 'cdi' komutunu öğrendikten sonra wholename = 'edg_cdi' komutunu alabilirim. Ancak "$ {wholename [@]}" çalışmıyor.
—
Uxio
@ AtomiX84 "$ {wholename [@]}" içindeki i'nin çıktısı yanlıştır: Edg_cdi, 40 46 37 43 olması gerekir.
—
Uxio
Bu soru, belki stackoverflow.com/questions/10820343/… bir kopyasıdır . Neyse, kodunuzu orada kabul edilen cevabı kullanarak düzelttim ve işe yarıyor.
—
user1330614