-1

私はこのコードを持っていますが、メニューにオプションを追加する方法がわかりませんか?さらに2つのオプションを追加する必要があります。どうすればいいですか?そして、これが機能するためには、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 Command Line and Shell Scripting Bible から直接コピーしないことをお勧めします。zenity とメニューに関するその本の全体を読めば理解できます。

スクリプトのこの部分を取ると

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

類似する他の部分の下にそれを挿入します。これは、関数が呼び出されるものとそれが何をするかを宣言します

次に、次のようなものを使用します。

           "Function1*") 
          function1 ;; 

アスタリスクが付いた関数はメニューに表示されるもので、2 番目の関数は実行するコードを知るために前のコードを参照します。

これが理にかなっていることを願っています

于 2013-03-21T11:09:43.147 に答える