Shell脚本应用图形界面的案例

在Shell脚本的编写应用中,有时候会需要用到图形界面的案例,比如默认cp拷贝文件为静默模式,无法看到拷贝的进度与百分比。而dialog正是为Shell提供图形界面的工具,该工具可以为Shell脚本提供各式各样的图形界面,今天为大家介绍的是dialog提供的进度条图形功能。

dialog指令可以单独执行,各式为dialog --title "Copy" --gauge "files" 6 70 10

备注:title表示图形进度条的标题,gauge为正文内容,进度条高度为6,宽度70,显示进度为10%

for i in {1..100} ; do sleep 1; echo $i | dialog --title 'Copy' --gauge 'I am busy!' 10 70 0; done

下面案例中通过统计源文件个数,再据此计算出拷贝文件的百分比,在Shell中提供进度的显示。该脚本有两个参数,第一个参数为源文件路径,第二个参数为目标路径。如果您的应用案例不同可以据此稍作修改即可使用。

#!/bin/bash
#Description: A shell script to copy parameter1 to parameter2 and Display a progress bar
#Author:Jacob
#Version:0.1 beta    

# Read the parameter for copy,$1 is source dir and $2 is destination dir
dir=$1/*
des=$2
# Test the destination dirctory whether exists
[ -d $des ] && echo "Dir Exist" && exit 1
# Create the destination dirctory
mkdir $des
# Set counter, it will auto increase to the number of source file
i=0
# Count the number of source file
n=`echo $1/* |wc -w`    

for file in `echo $dir`
  do
# Calculate progress
percent=$((100*(++i)/n))
cat <<EOF
XXX
$percent
Copying file $file ...
XXX
EOF
/bin/cp -r $file $des &>/dev/null
  done | dialog --title "Copy" --gauge "files" 6 70
clear

效果如图:

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索界面
, shell
, 脚本
, 图形
, dialog
, 进度
, 应用显示图形wince6 0
shell进度条
linux shell脚本案例、shell脚本案例、ubuntu shell脚本案例、shell图形界面、linux shell 图形界面,以便于您获取更多的相关知识。

时间: 2024-09-09 17:51:01

Shell脚本应用图形界面的案例的相关文章

Linux系统shell脚本编程――生产实战案例

Linux系统shell脚本编程――生产实战案例 在日常的生产环境中,可能会遇到需要批量检查内网目前在线的主机IP地址有哪些,还可能需要检查这些在线的主机哪些端口是开放状态,因此依靠手工来检查是可以实现,但比较费时费力,所以需要结合shell脚本来实现批量检查的功能,那么今天就来做个小小的实验. 1.开发脚本前准备 一般大家都知道,测试主机是否在线,常用的命令无非就是ping.nmap,因此,首先找一个地址来测试下ping命令的效果 [root@centos6 scripts]# ping 17

linux如何在终端里输入shell脚本?

问题描述 linux如何在终端里输入shell脚本? 大家在公司里工作时写shell是在字符界面还是在图形界面的终端里写?我在图形界面的终端里写每写完一个命令就按回车然后命令就会执行我看其他人写的shell脚本写了好多行那么如何才能写很多行的脚本而不会每写一行换行按回车时就执行? 解决方案 http://blog.chinaunix.net/uid-20328094-id-95121.html 解决方案二: http://fanqiang.chinaunix.net/program/shell/

Linux Shell脚本之更新hosts文件以便于访问谷歌服务

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1765282   Linux服务器一般不带图形界面,管理员通常都是通过命令行界面直接操作服务器.在日常的管理运维中,经常需要用到github.gist.githubusercontent等网站上的一些内容,也有时需要用到Google上的一些服务,如Google API之类的.然而这些网站大部分都被GFW防火长城屏蔽掉

图形界面实现Active Directory回收站的功能

http://www.aliyun.com/zixun/aggregation/13975.html">Windows Server 2008 R2中提供了一个非常实用的功能,Active Directory回收站.Active Directory回收站可以非常方便地把误删除的Active Directory对象恢复出来,而不再需要从 备份设备中进行繁琐的恢复操作. 但是Active Directory回收站需要使用Power Shell开启功能,恢复对象时也要使用Powe Shell语句

Shell脚本了解

版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781 目录(?)[+] 一.什么是Shell Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言.  Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务.  Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell. 二.

下一代Shell脚本语言,Windows Power Shell!_IT 业界

今天回家照常浏览了下cnbeta.com,看看有什么新鲜的内容.   于是乎,就看到了那么一条 Windows Power Shell 1.0   恩,我对这个东西很感兴趣,毕竟Windows目前的Shell是在是太弱了,立马从微软站点下载,安装,发现其是以补丁包的形式发布的,并非常规的MSI,那么,我估计Vista已经自带了这个东西了.   下面将尝试了解PowerShell(以下简称PS)      安装完成后,打开程序菜单,看来M$老习惯还是保持的不错的,帮助很详细      发行说明  

Linux Shell脚本之Gitlab远程备份

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1686043 注:Gitlab是一个git服务程序,有web图形界面和一系列管理工具,具体详细介绍可以Google it. 这一篇可以说是上一篇<Linux Shell脚本之Atlassian confluence远程备份方法>的姊妹篇.其说明和原理是和上一篇是一样的,其核心原理都是core dump.scp.ss

如何通过编辑shell脚本设计出属于自己的个性化X会话

本页面将会教你如何通过编辑shell脚本设计出属于自己的个性化X(图形桌面)会话.桌面环境像GNOME通常有它们自己的会话管理器.这些会话管理器允许你设定在启动时会装载什么样附加程序,通过提供的一个图形界面.然而,知道如何去创建X会话脚本能允许你,在定义你的桌面环境时有更大的灵活性,无论你使用GNOME.KDE.XFCE.Openbox,或任何少为人知的窗口管理器,像Blackbox或FVWM.此外,能够创建X会话让你能够运行一个图形桌面,即使图形登录管理器,GDM,损坏或者没有安装. 解剖一个

如何在Bash Shell脚本中显示对话框

这个教程给出几个如何使用类似zenity和whiptail的工具在Bash Shell 脚本中提供消息/对话框的例子.使用这些工具,你的脚本能够告知用户当前程序运行的状态并能与用户进行交互.这两个工具的不同之处在于显示消息框或者对话框的方式.Zenity用GTK工具包创建图形用户界面,而whiptail则在终端窗口内创建消息框. Zenity 工具 在Ubuntu中安装zenity,运行: sudo apt-get install zenity 用zenity创建消息框或者对话框的命令是不言自明