显示Zenity文件选择



所以我试图在zenity内做一个删除函数。我设法让用户输入他想要的路径,然后我要显示里面存在的所有文件。我知道怎么做,我知道它的工作,但不与zenity。下一个窗口(文件选择)没有弹出,我的程序回到菜单。谢谢,这是我的代码。谢谢你的帮助和时间!

#!/bin/bash
function Ddate()
{
zenity --info 
--title "Date and Time" 
--text "Today is $(date)"
}
function Dcalendar()
{
zenity --forms 
--title "Scheduler" 
--text "Pick a date" 
--add-calendar "Calendar" 
--add-entry "Reminder"
}
function Ddelete()
{   
directory=$(zenity --entry 
--text "Enter a path" 
--title "Delete" )
if [ -z "$directory" ];then
directory=$ pwd
else
if [ -d "$directory" ];then
zenity --file-selection --filename=$(directory)
fi 
fi
}
while true;
do
choice="$(zenity --height 275 --width 450 
--list 
--title="" 
--column="Function" --column="Description" 
Date 'Display the actual date and time.' 
Calendar 'Display an interactive calendar.' 
Delete 'Let you delete a file.' 
Exit 'To quit this script.')"
case $choice in
Date) Ddate;;
Calendar) Dcalendar;;
Delete) Ddelete;;
Exit) break;;
esac
done

为了解决我的问题,我理解$?转义码。在每个窗口$?控制ok和cancel按钮,分别取值0和1。在我的程序中,我清除了$?首先,由于前面的窗口,可以设置一个值,并设置变量ret为$?意思是如果有人按下ok或取消,它会继续到下一个窗口或回到根窗口。

function Ddelete()
{   
directory=$(zenity --entry 
--text "Enter a path" 
--title "Delete" )
if [ -z "$directory" ];then
directory=$ pwd
else
if [ -d "$directory" ];then
clear $?
Spath=$(zenity --file-selection --filename=$(directory))
ret=$?
fi 
fi
}

相关内容

  • 没有找到相关文章

最新更新