对话框菜单 - 菜单项之间的空间

对话框菜单 - 菜单项之间的空间

我想在 的菜单项之间添加一些空格dialog menu

有什么办法可以做到吗?

我创建了一个菜单,其中包含再次调用菜单的“空按钮”。这看起来像我想要的。

但问题是,我现在需要按两次向下箭头按钮才能到达下一个按钮,因为它也会重定向到空按钮。

是否可以停用某些菜单项,但将它们留在那里作为占位符?

我的代码如下所示:

main_menu() {
dialog --clear
LANG=de_DE
dialog --no-cancel --ok-label "Auswahl" --default-item '1' --backtitle "" --title "TestMenu"\
    --menu "\n Test                                        Test" 25 80 24\
        '' ""\
        1 " Menupunkt1"\
        '' ""\
        2 " Menupunkt2"\
        '' ""\
        3 " Menupunkt3"\
        '' ""\
        4 " Menupunkt4"\
        '' ""\
        5 " Menupunkt5"\
        '' ""\
        0 " Abmelden" 2>$_temp

opt=${?}
if [ $opt != 0 ]; then rm $_temp; exit; fi
menuitem=`cat $_temp`
echo "menu=$menuitem"
case $menuitem in
1) ${Funktion_Button1}
        main_menu;;
2) ${Funktion_Button2}
        main_menu;;
3) ${Funktion_Button3}
        main_menu;;
4) ${Funktion_Button4}
        main_menu;;
5) ${Funktion_Button5}
        main_menu;;
0) rm $_temp; rm -f /tmp/menu.*; rm -f /tmp/answer.*; exit;;
esac
}

答案1

您可以按照您添加的方式添加这些按钮,并且所有按钮都指向主菜单,您可以稍后更改。

如果可能,不要使用箭头键移动,而是使用选项数字进行导航,这样可以轻松跳过无效/停用的选项,例如:

#!/bin/bash
#Access Choices by numbers

PS3='Please enter your choice: '
options=("Option 1" "Option 2" "Option 3" "Quit")
select opt in "${options[@]}"
do
case $opt in
    "Option 1")
        echo "you chose choice 1"
        ;;
    "Option 2")
        echo "you chose choice 2"
        ;;
    "Option 3")
        echo "you chose choice $REPLY which is $opt"
        ;;
    "Quit")
        break
        ;;
    *) echo "invalid option $REPLY";;
esac
done

相关内容