2013-03-18 98 views
-1

我有這段代碼,但我不知道如何在菜單中添加更多選項?我需要添加兩個選項。我將如何做到這一點? 爲了這個工作,它需要在原始的bash菜單中,我想創建GUI的相同文件?在bash中創建一個zenity菜單

# 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 $ 

回答

0

首先,好事做的不是,如果你在讀這本書的zenity和菜單的整個部分直接從Linux命令行和Shell腳本複製聖經,你會理解的。

如果你把腳本

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

插入的這一部分是類似於其他部分的下方,該聲明是函數被調用,它會做

然後使用這樣的:

  "Function1*") 
      function1 ;; 

與星號的功能是什麼將在菜單上顯示的,所述第二指前一段代碼知道要執行的代碼。

希望這是有道理的