-1

我有这段代码,但我不知道如何在菜单中添加更多选项?我需要再添加两个选项。我该怎么做?为了使它起作用,它是否需要与我试图为其创建 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 $
4

1 回答 1

0

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

如果你把这部分脚本

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

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

然后使用这样的东西:

           "Function1*") 
          function1 ;; 

带有星号的功能是菜单上将显示的内容,第二个是指上一段代码,以了解要执行的代码。

希望这是有道理的

于 2013-03-21T11:09:43.147 回答