Bash
陣列到whiptail菜單 - BASH
我想顯示使用者友好的
whiptail
菜單。我的目標
whiptail
是:Choice1 Choice2 Choice3 Choice4
我的數組包括:
Choice1 Choice2 Choice3 Choice4
我通過循環執行數組,如下所示:
for value in ${value[@]} do echo "$value" done
我無法添加
whiptail
內部迴聲,因為我得到了另外 4 個菜單。我試過這樣的腳本:
$val=$(whiptail --title "xx" --menu "choose" 16 78 10 for value in ${value[@]} do echo "$value" done 3>&1 1>&2 2>&3)
執行上述腳本後,我的外殼看起來很糟糕。
腳本後的外殼:
有沒有人解決我的問題?
您的腳本中有幾個錯誤,例如,您不應該給循環迭代器賦予與數組本身相同的名稱。但是,您不需要任何循環來完成此任務,只需使用特殊的數組索引一次放置所有數組元素
@
:value=(Choice1 "" Choice2 "" Choice3 "" Choice4 "") whiptail --title "xx" --menu "choose" 16 78 10 "${value[@]}"
注意引號內的空字元串
""
- 這是whiptail
菜單選項所需的描述,如果沒有,您會將Choice
其Choice4
視為描述:Choice1 Choice2 Choice3 Choice4
可能不是你想要的。