我有这段代码,但我不知道如何在菜单中添加更多选项?我需要再添加两个选项。我该怎么做? 为了实现这一点,它是否需要与我尝试为其创建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 $
答案 0 :(得分:0)
首先,一件好事不是直接从Linux命令行和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 ;;
带有星号的函数将在菜单上显示,第二个函数指的是前一段代码,以了解要执行的代码。
希望这是有道理的