对于Zenity的初步认识,写一个小程序,利用shell脚本实现对文件的解压缩工具(实际上很简单)
linux下皆命令,这是我们都了解的,以其命令行操作带来的方便快捷而闻名。但随着应用越来越广泛,图形化应用程序的需求越来越多
什么是Zenity?
1、zenity 是一个开源的并且显示 GTK + 对话框的命令行并且使用shell脚本的一个 “应用程序”。
2、它允许在图形框中向shell发送信息或从图形框中获取shell返回的信息
3、该程序允许用户在命令行建立对话框,使得用户与shell之间的交互变得简单
4、******说白了,就是在linux里边都是命令,现在这个东西提供了一种图形化的窗口,来进行操作,而这个窗口要怎么实现,并且在shell脚本中应该如何来编写代码才能将这个图形界面的功能给表现出来,咱们接着往下看
如何来使用?
1、首先看看有没有安装zenity
出现上边的结果就表明zenity存在。
如果不存在就下载
用上边的命令就可以完成下载
下载完成之后,对于zenity来说 有许多功能:
–calendar 显示日历对话框
–entry 显示文本输入对话框
–error 显示错误对话框
–info 显示信息对话框
–file-selection 显示文件选择对话框
–list 显示列表对话框
–notification 显示通知
–progress 显示进度标识对话框
–question 显示问题对话框
–warning 显示警告对话框
–scale 显示范围对话框
–text-info 显示文本信息对话框
–display=DISPLAY X display to use
上述这些选项在linux命令窗口输入即可出现对应的图形窗口
例:
zenity --calendar
即可出现日历图形窗口
我们在这里通过一个例子来理解zenity
功能:实现对于文件的解压缩的小工具
首先我们编写shell脚本:
#! /bin/bash
# 这里先定义一个变量 name 用来保存用户输入的是 com 还是 decom
name=$(zenity --title="Uncompress" --text "com(压缩) or decom(解压)" --entry)
# 这里的 zenity 就是告诉程序 利用图形化窗口
# --title 表示这个窗口的标题
# --text 表示文本标题
# --entry 表示zenity被要求生成一个文本框,用来输入--->用户输入的文本框
###### 压缩
if [ $name = "com" ]
then
filename=$(zenty --title="compress(压缩)" --text “Enter the file name to compress?” --enty)
dizp $filename
exit
fi
###### 解压
if [ $name = "decom" ]
then
filename=$(zenty --title="uncompress(解压)" --text "enter the file name to extract?" --entry)
dizp -d $filename
exit
fi