ubuntu shell脚本弹窗小工具yad

简介

yad是ubuntu下面的一个很有用的命令行工具,可以在shell脚本里弹窗给用户进行一些选择文件夹、下拉菜单等操作,给写shell脚本提供了方便,最近才发现这个工具,记录一下若干用法。

安装

直接命令行安装:

sudo apt install yad

使用

选择文件夹/文件

MapFolder=$(yad --width=800 --height=400  --title="Select map folder" --file-selection --directory)

MapFolder就会得到选择的文件夹的整个路径,如果希望在指定文件夹里选择文件夹,那可以先cd进去某个文件夹。另外,如果想选择文件,好像只要把最后directory改成file。

输入文本

Input=$(yad --width=400 --title="input something" --text="请输入:" --entry --entry-text=${defaultname})

Input就会得到输入框的内容,里面defaultname可以预设一个默认的值直接显示在输入框里。

选择下拉菜单

Choose=$(yad --width 500 --entry --title "Choose the menu" \
         --button="gtk-ok:0" --button="gtk-close:1" --entry-text "a" "b" "c")

Choose就会得到下拉菜单里选择的内容,后面的"a"、“b”、"c"就是下拉菜单的内容。但是这里按钮操作的设置还不是很懂,怎么添加不同功能的按钮还不清楚,后面有时间再去了解一下。

小结

暂时记录这些,因为目前只用了这些,后面如果还有用到学到新的使用方法会继续更新。

### 回答1: 可以使用shell脚本来创建GUI程序,其中最常用的是Bash。Bash可以使用Zenity、KDialog和XDialog等工具来创建GUI。这些工具都提供了一些简单的对话框、进度条、输入框等功能,使得shell脚本可以显示图形化界面,实现一些基本的GUI功能。此外,还可以使用GTK+或QT等库来编写GUI程序,然后通过shell脚本调用这些程序。 ### 回答2: 在Linux系统中,可以使用Shell脚本编写GUI程序,其中常用的工具是Xdialog、Zenity和YAD等。 Xdialog是一个功能强大的图形对话框生成器,可以通过Shell脚本调用Xdialog命令来创建各种类型的对话框,如文本输入对话框、文件选择对话框、下拉菜单对话框等。通过设置参数和选项,可以定义对话框的大小、位置、标题、消息内容以及按钮的标签和行为等。 Zenity是Gnome桌面环境的一部分,它提供了一组命令行工具,可以通过Shell脚本调用Zenity命令来创建各种类型的对话框。Zenity支持的对话框类型包括信息框、错误框、警告框、输入框、列表框、文件选择框等。通过设置参数和选项,可以定义对话框的标题、消息内容、按钮标签、默认值、文件过滤器等。 YAD(Yet Another Dialog)是一个Shell脚本工具集,可以创建漂亮的、高度可定制的对话框。与Xdialog和Zenity相比,YAD提供了更多灵活的选项和功能。通过Shell脚本调用YAD命令,可以创建各种类型的对话框,如文本对话框、按钮对话框、文件选择对话框、颜色选择对话框等。 通过Shell脚本调用这些GUI工具,可以在Linux系统中实现简单的、快速的图形用户界面。通过编写Shell脚本可以处理用户的输入和操作,并与其他命令行工具脚本进行集成,实现更复杂的功能。尽管Shell脚本编写GUI程序的功能有限,但在一些简单的应用场景下,可以提供快速的解决方案。 ### 回答3: 用shell编写GUI程序是可以实现的,只需要借助于相应的库或工具。 在Linux系统中,可以使用GTK+库来开发shell的GUI程序。GTK+是一套跨平台的图形用户界面库,可以用于开发各种应用程序,包括使用shell脚本编写的GUI程序。 具体来说,可以使用Bash语言来编写shell脚本,然后通过调用GTK+提供的函数和方法,创建窗口、添加控件、处理事件等。GTK+提供了各种控件,如按钮、标签、文本框等,可以通过调用相关函数来进行控件的布局和处理。 除了GTK+,还有其他的库和工具可以用于开发shell的GUI程序,如Zenity、YAD等。这些工具可以将shell脚本转换为GUI程序,提供了一些简单的控件和功能,可以快速地创建和部署GUI应用。 当然,用shell编写GUI程序相比其他语言来说,功能和可扩展性可能会受到限制。但是,对于简单的界面和功能需求,使用shell脚本编写GUI程序是一种快速、简单的方法。 总之,用shell编写GUI程序是可行的,可以通过调用相应的库和工具来实现。不过考虑到shell脚本在界面和功能上的限制,如果需要更复杂的GUI应用,可能需要考虑使用其他编程语言来开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值