2016-04-07 20 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 

Dieser Code versucht, aber es hat nicht gut funktioniert. Ich möchte die $ 4 als neu erstellte Variable weitergeben, die hier DISK_SELECTION genannt wird. Ich muss eine Funktion verwenden, da es mehrere Bereiche gibt, in denen ich den gesamten Code benötige.Verwenden Sie einen Variablennamen als Parameter in einer Bash-Funktion

Ist es möglich?

+1

Sie könnten ein assoziatives Array verwenden möchten, und tun 'arr [ "$ 4"] = $ (Dialog ...) 'dann' echo "$ {arr [DISK_SELECTION]}" ' –

+0

Arbeiten wie ein Charme. Danke Kumpel ! –

+0

Gern geschehen! Ich werde meinen Kommentar als Antwort posten, daher wird diese Frage nicht als "unbeantwortet" aufgeführt. Ich schätze Ihr "Akzeptieren". –

Antwort

1

Sie möchten vielleicht ein assoziatives Array verwenden, und tun arr["$4"]=$(dialog...), dann:

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

Danke für die Klarstellung –

Verwandte Themen