在bash函数中使用变量名作为参数

在bash函数中使用变量名作为参数,bash,function,variables,dialog,Bash,Function,Variables,Dialog,尝试了此代码,但效果不好。我想将$4作为新创建的变量传递,该变量将在此处命名为DISK\u SELECTION。我需要使用一个函数,因为有多个区域需要完整的代码 可能吗?您可能希望使用关联数组,然后执行arr[“$4”]=$(对话框…),然后: #!/bin/bash function dialog_menu() { $4="$(dialog --clear --backtitle "Archlinux Installer" --title "$1" --menu "$2" 10 6

尝试了此代码,但效果不好。我想将$4作为新创建的变量传递,该变量将在此处命名为DISK\u SELECTION。我需要使用一个函数,因为有多个区域需要完整的代码


可能吗?

您可能希望使用关联数组,然后执行
arr[“$4”]=$(对话框…
),然后:

#!/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

您可能希望使用关联数组,然后像符咒一样执行
arr[“$4”]=$(对话框…
然后
echo“${arr[DISK_SELECTION]}”
操作。谢谢你,伙计!不客气!我将发表我的评论作为回答,所以这个问题不会被列为“未回答”。谢谢你的“接受”。谢谢你的澄清
printf '%s\n' "${arr[DISK_SELECTION]}"