首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zenity文件选择显示

Zenity文件选择显示
EN

Stack Overflow用户
提问于 2021-01-19 13:14:42
回答 1查看 733关注 0票数 0

所以我试着在zenity里面做一个删除函数。我设法让用户输入他想要的路径,然后我想显示它里面的所有文件。我找到了如何去做,我知道它是有效的,但没有与热情。下一个窗口(文件选择)不是弹出,我的程序回到菜单。谢谢你的帮助和时间,这是我的code.Thanks u!

代码语言:javascript
复制
#!/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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-06 06:11:24

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

代码语言:javascript
复制
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

}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65792240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档