2016-04-07 16 views
1
#!/bin/bash 

function dialog_menu() 
{ 

    $4="$(dialog --clear --backtitle "Archlinux Installer" --title "$1" --menu "$2" 10 60 5 $3 --output-fd 1)" 

} 

dialog_menu "Disk Selection" "Please, choose where to install Archlinux" "sda 50G sdb 30G" DISK_SELECTION 

echo $DISK_SELECTION 

Bu kodu denediniz ancak iyi çalışmadı. $ 4'ü burada DISK_SELECTION olarak adlandırılacak yeni oluşturulmuş değişken olarak geçmek istiyorum. Bu kodun tümüne ihtiyacım olduğu birden fazla alan olduğu için bir fonksiyon kullanmam gerekiyor.Bir bash işlevinde parametre olarak değişken adı kullanın

Mümkün mü?

+1

Sen 'arr [ "$ 4"] = $ (iletişim bir ilişkisel dizi kullanmak ve yapmak isteyebilirsiniz ...) '' echo '$ {arr [DISK_SELECTION]} "' –

+0

Bir çekicilik gibi çalışıyor. Sağol kanka ! –

+0

Rica ederim! Yorumumu bir yanıt olarak göndereceğim, bu yüzden bu soru "yanıtsız" olarak listelenmeyecek. "Kabul et" için minnettar olacağım. –

cevap

1

Daha sonra, bir ilişkisel dizi kullanmak istiyor ve arr["$4"]=$(dialog...) yapabilir:

printf '%s\n' "${arr[DISK_SELECTION]}" 
+0

Açıklama için teşekkürler –