【问题标题】:Creating a zenity menu in bash在 bash 中创建 zenity 菜单
【发布时间】:2013-03-18 13:04:42
【问题描述】:

我有这段代码,但我不知道如何在菜单中添加更多选项?我需要再添加两个选项。我该怎么做? 为了使其正常工作,它是否需要与我尝试为其创建 GUI 的原始 bash 菜单位于同一文件中?

# using zenity to create a menu
           temp=`mktemp -t temp.XXXXXX`
           temp2=`mktemp -t temp2.XXXXXX`
function diskspace {  
df -k > $temp  
zenity --text-info --title "Disk space" --filename=$temp  
--width 750 --height 10 }  
function whoseon { who > $temp  
zenity --text-info --title "Logged in users" --filename=$temp --width 500 --height 10  
}  
function memusage {  
cat /proc/meminfo > $temp  
zenity --text-info --title "Memory usage" --filename=$temp  
--width 300 --height 500 }  
while [ 1 ]  
do  
zenity --list --radiolist --title "Sys Admin Menu" --column "Select" --column "Menu     Item"    
FALSE "Display disk space" FALSE "Display users" FALSE "Display memory usage" FALSE   "Exit"   > $temp2  
if [ $? -eq 1 ]  
then  
break fi  
           selection=`cat $temp2`  
           case $selection in  
           "Display disk space") 
              diskspace ;;  
           "Display users")  
              whoseon ;;
           "Display memory usage")
              memusage ;;  
           Exit)  
break ;; *)  
zenity --info "Sorry, invalid selection" esac  
done $

【问题讨论】:

    标签: linux bash menu options zenity


    【解决方案1】:

    首先,最好不要直接从Linux命令行和Shell脚本圣经中复制,如果你阅读了那本书中关于zenity和菜单的全部部分,你就会明白。

    如果你把这部分脚本拿走

    function 'function1' { 'code for doing function1'  
    zenity --text-info --title "Logged in users" --filename=$temp --width 500 --    height 10  
    }  
    

    在其他类似的部分下面插入,这声明了函数被调用的内容以及它将做什么

    然后使用这样的东西:

               "Function1*") 
              function1 ;; 
    

    带星号的功能是菜单上显示的内容,第二个是指上一段代码,知道要执行什么代码。

    希望这是有道理的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-24
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多