Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Zenity-选择器菜单示例_Linux_Bash_Menu_Selector_Zenity - Fatal编程技术网

Linux Zenity-选择器菜单示例

Linux Zenity-选择器菜单示例,linux,bash,menu,selector,zenity,Linux,Bash,Menu,Selector,Zenity,我想在Linux下用Zenity制作一个简单的菜单 我尝试了两个代码,但没有任何效果 第一: #!/bin/bash Titulo="Ejemplo De Seleccion" Pregunta="Selecciona una opcion:" Opciones=("A" "B" "C") echo "$Titulo" PS3="$Pregunta " while opt="$(zenity --title="$Titulo" --text="$Pregunta" --list --colu

我想在Linux下用Zenity制作一个简单的菜单

我尝试了两个代码,但没有任何效果

第一:

#!/bin/bash
Titulo="Ejemplo De Seleccion"
Pregunta="Selecciona una opcion:"
Opciones=("A" "B" "C")

echo "$Titulo"
PS3="$Pregunta "

while opt="$(zenity --title="$Titulo" --text="$Pregunta" --list --column="Opciones" "${Opciones[@] $Versiones}")"; do

    case $opt in
    "${Opciones[0]}" ) 
        echo "Has elegido $opt, Opcion 1"
        zenity --info --text="Has elegido $opt, Opcion 1"
        ;;
    "${Opciones[1]}") 
        echo "Has elegido $opt, Opcion 2"
        zenity --info --text="Has elegido $opt, Opcion 2"
        ;;

    "${Opciones[2]}") 
        echo "Has elegido $opt, Opcion 3"
        zenity --info --text="Has elegido $opt, Opcion 3"
        ;;

    "${Opciones[-1]}") 
        zenity --error --text="Opcion Incorrecta , Intenta con otra."
        ;;
    esac

done
我可以选择“A,B,C”,但这并没有显示“zenity--info--text=”Something”

第二,这更具功能性,但遗漏了一些东西

#!/bin/bash

Titulo="Instalador Manual de Wine"
Pregunta="Por Favor Elige una Opcion :"

Versiones=( 
"1.6.2"
"1.7.0"
"1.7.1"
"1.7.2"
"1.7.3"
"1.7.4"
"1.7.5"
"1.7.6"
"1.7.7"
"1.7.8"
"1.7.9"
"1.7.10"
"1.7.11"
"1.7.12"
"1.7.13"
"1.7.14"
"1.7.15"
"1.7.16"
"1.7.17"
"1.7.18"
"Salir"
)



while true; do
  Opcion="$(zenity --width 309 --height 240 --title="$Titulo" --text="$Pregunta" --list --radiolist  --column "Opcion Nª" --column="Versiones de Wine" "${Versiones[@]}" "Salir")"

      if   [ "$Opcion" = "1.6.2" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 01"
      elif [ "$Opcion" = "1.7.0" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 02"
      elif [ "$Opcion" = "1.7.1" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 03"
      elif [ "$Opcion" = "1.7.2" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 04"
      elif [ "$Opcion" = "1.7.3" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 05"
      elif [ "$Opcion" = "1.7.4" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 06"
      elif [ "$Opcion" = "1.7.5" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 07"
      elif [ "$Opcion" = "1.7.6" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 08"
      elif [ "$Opcion" = "1.7.7" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 09"
      elif [ "$Opcion" = "1.7.8" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 10"
      elif [ "$Opcion" = "1.7.9" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 11"
      elif [ "$Opcion" = "1.7.10" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 12"
      elif [ "$Opcion" = "1.7.11" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 13"
      elif [ "$Opcion" = "1.7.12" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 14"
      elif [ "$Opcion" = "1.7.13" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 15"
      elif [ "$Opcion" = "1.7.14" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 16"
      elif [ "$Opcion" = "1.7.15" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 17"
      elif [ "$Opcion" = "1.7.16" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 18"
      elif [ "$Opcion" = "1.7.17" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 19"
      elif [ "$Opcion" = "1.7.18" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 20"
      elif [ "$Opcion" = "Salir" ]; then
         exit 1
         else
                      zenity --info --text="Has Elegido $Opcion, Opcion Invalida"
         fi
done
好的,我可以选择,这给了我答案,但是列表变量“Versiones”中的以下值没有显示在Zenity中:

1.6.2 1.7.1 1.7.3 1.7.5 1.7.7 1.7.9 1.7.11 1.7.13 1.7.15 1.7.17

我认为这条线有问题

Opcion=“$(zenity--width 309--height 240--title=“$Titulo”--text=“$Pregunta”--list--radiolist--column“Opcion--N”--column=“Versiones de Wine”“${Versiones[@]}”“Salir”)”


有什么不对?我想在变量“Versiones”中显示所有值。我不明白“${Versiones[@]}”是如何工作的。我从另一个脚本XD复制。

用以下行修复它

感谢Facebook用户nicolas.carlos.106对代码的修改

#!/bin/bash

Titulo="Instalador Manual de Wine"
Pregunta="Por Favor Elige una Opcion :"

Versiones=( 
"1.6.2"
"1.7.0"
"1.7.1"
"1.7.2"
"1.7.3"
"1.7.4"
"1.7.5"
"1.7.6"
"1.7.7"
"1.7.8"
"1.7.9"
"1.7.10"
"1.7.11"
"1.7.12"
"1.7.13"
"1.7.14"
"1.7.15"
"1.7.16"
"1.7.17"
"1.7.18"
"Salir"
)
Versiones=( ${Versiones[@]/#/"FALSE "} )


while true; do
  Opcion="$(zenity --width 309 --height 240 --title="$Titulo" --text="$Pregunta" --list --radiolist  --column "Opcion Nª" --column="Versiones de Wine" "${Versiones[@]}")"

      if   [ "$Opcion" = "1.6.2" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 01"
      elif [ "$Opcion" = "1.7.0" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 02"
      elif [ "$Opcion" = "1.7.1" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 03"
      elif [ "$Opcion" = "1.7.2" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 04"
      elif [ "$Opcion" = "1.7.3" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 05"
      elif [ "$Opcion" = "1.7.4" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 06"
      elif [ "$Opcion" = "1.7.5" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 07"
      elif [ "$Opcion" = "1.7.6" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 08"
      elif [ "$Opcion" = "1.7.7" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 09"
      elif [ "$Opcion" = "1.7.8" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 10"
      elif [ "$Opcion" = "1.7.9" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 11"
      elif [ "$Opcion" = "1.7.10" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 12"
      elif [ "$Opcion" = "1.7.11" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 13"
      elif [ "$Opcion" = "1.7.12" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 14"
      elif [ "$Opcion" = "1.7.13" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 15"
      elif [ "$Opcion" = "1.7.14" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 16"
      elif [ "$Opcion" = "1.7.15" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 17"
      elif [ "$Opcion" = "1.7.16" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 18"
      elif [ "$Opcion" = "1.7.17" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 19"
      elif [ "$Opcion" = "1.7.18" ]; then
          zenity --info --text="Has Elegido $Opcion, Opcion 20"
      elif [ "$Opcion" = "Salir" ]; then
         exit 1
         else
                      zenity --info --text="Has Elegido $Opcion, Opcion Invalida"
         fi
done