仓酷云

标题: Linux制作之10个工具让你的shell剧本更壮大仓酷云 [打印本页]

作者: 兰色精灵    时间: 2015-1-18 11:26
标题: Linux制作之10个工具让你的shell剧本更壮大仓酷云
如果你让他去用linux搭建一个web服务器,做一个linux网关,他就什么都不会了.他们把时间都浪费在了版本的转换上了.
良多人误觉得shell剧本只能在命令行下利用。实在shell也能够挪用一些GUI组件,比方菜单,告诫框,进度条等等。你能够把持终极的输入,光标地位另有各类输入效果。上面我将先容一些工具,匡助你创立壮大的,互动的,用户友爱的Unix/Linuxshell剧本。我在FreeBSD和Linux下测试过这些工具,不外其他UNIX系列的操纵体系应当都撑持的。

1.notify-send命令
这个命令可让你经由过程关照历程发送一个桌面关照给用户。这能够用来向用户发送提醒,大概显现一些信息而不必打断用户事情。你必要安装以下软件包:
  1. $sudoapt-getinstalllibnotify-bin
复制代码
上面这个例子展现了怎样从命令行向桌面发送一个复杂的动静:
  1. notify-send"rsnapshotdone:)"
复制代码
输入:
Linux制作之10个工具让你的shell剧本更壮大仓酷云
登录/注册后可看大图

<br>

上面是一个庞大一点的例子:
  1. ....alert=18000live=$(lynx--dumphttp://money.rediff.com/|grepBSELIVE|awk{print$5}|seds/,//g;s/.[0-9]*//g)[$notify_counter-eq0]&&[$live-ge$alert]&&{notify-send-t5000-ulow-i"BSESensextouched18k";notify_counter=1;}...
复制代码
输入:
Linux制作之10个工具让你的shell剧本更壮大仓酷云
登录/注册后可看大图

<br>

这里的参数注释以下:



2.tput命令
这个命令是用来设置终端特征的:


举例:
  1. #!/bin/bash#clearthescreentputclear#MovecursortoscreenlocationX,Y(topleftis0,0)tputcup315#SetaforegroundcolourusingANSIescapetputsetaf3echo"XYXCorpLTD."tputsgr0tputcup517#Setreversevideomodetputrevecho"MAIN-MENU"tputsgr0tputcup715echo"1.UserManagement"tputcup815echo"2.ServiceManagement"tputcup915echo"3.ProcessManagement"tputcup1015echo"4.Backup"#Setboldmodetputboldtputcup1215read-p"Enteryourchoice[1-4]"choicetputcleartputsgr0tputrc
复制代码
输入:
Linux制作之10个工具让你的shell剧本更壮大仓酷云
登录/注册后可看大图

<br>

3.setleds命令
这个命令可让你把持键盘灯,比方翻开数字键盘灯:
  1. setleds-D+num
复制代码
封闭数字键盘灯:
  1. setleds-D-num
复制代码

4.zenity命令
这个命令能够显现GTK+的对话框,然后前往用户的输出。你能够用这个命令在剧本中显现信息,并请求用户输出信息。上面这段代码就是域名的whois查询:
  1. #!/bin/bash#Getdomainname_zenity="/usr/bin/zenity"_out="/tmp/whois.output.$$"domain=$(${_zenity}--title"Enterdomain"--entry--text"Enterthedomainyouwouldliketoseewhoisinfo")if[$?-eq0]then#Displayaprogressdialogwhilesearchingwhoisdatabasewhois$domain|tee>(${_zenity}--width=200--height=100--title="whois"--progress--pulsate--text="Searchingdomaininfo..."--auto-kill--auto-close--percentage=10)>${_out}#Displaybackoutput${_zenity}--width=800--height=600--title"Whoisinfofor$domain"--text-info--filename="${_out}"else${_zenity}--error--text="Noinputprovided"fi
复制代码
输入:

Linux制作之10个工具让你的shell剧本更壮大仓酷云
登录/注册后可看大图

<br>

5.kdialog命令
这个命令和zenity很想,只不外它是为KDE/QT使用筹办的。利用办法以下:
  1. kdialog--dontagainmyscript:nofilemsg--msgbox"File:~/.backup/confignotfound."
复制代码
输入
Linux制作之10个工具让你的shell剧本更壮大仓酷云
登录/注册后可看大图

<br>

你能够检察shellscriptionwithKDEDialogs来猎取更多信息

6.Dialog
这个命令能够在shell剧本中显现文本组件。它利用了curses和ncurses类库。示例代码:
  1. >#!/bin/bashdialog--title"Deletefile"--backtitle"LinuxShellScriptTutorialExample"--yesno"Areyousureyouwanttopermanentlydelete"/tmp/foo.txt"?"760#Getexitstatus#0meansuserhit[yes]button.#1meansuserhit[no]button.#255meansuserhit[Esc]key.response=$?case$responsein0)echo"Filedeleted.";;1)echo"Filenotdeleted.";;255)echo"[ESC]keypressed.";;esac
复制代码
7.logger命令
这个命令可让你写进体系日记比方/var/log/messages:
  1. logger"MySQLdatabasebackupfailed."tail-f/var/log/messageslogger-tmysqld-pdaemon.error"DatabaseServerfailed"tail-f/var/log/syslog
复制代码
输入:
Apr2000:11:45vivek-desktopkernel:[38600.515354]CPU0:Temperature/speednormal
Apr2000:12:20vivek-desktopmysqld:DatabaseServerfailed

8.setterm命令
这个命令能够设置中止的属性。上面的例子是强迫屏幕全黑15分钟,而且60分钟后把显现器设为待机形态:
  1. notify-send"rsnapshotdone:)"0
复制代码
上面这段命令能够在中止显现加下划线的笔墨:
  1. notify-send"rsnapshotdone:)"1
复制代码
大概你能够封闭光标:
  1. notify-send"rsnapshotdone:)"2
复制代码
9.smbclient:向MS-Windows体系发送动静
smbclient能够和SMB/CIFS服务器通讯。它能够向MS-Windows体系的指定用户发送动静:
  1. notify-send"rsnapshotdone:)"3
复制代码
大概
  1. notify-send"rsnapshotdone:)"4
复制代码
10.BashSocket编程
你能够在bash中开启一个socket链接,而且传输数据。Bash有两个特别的设备文件:


当你经过一段时间的学习后就应该扩充自己的知识,多学习linux命令,但是不要在初学阶段就系统的学习linux命令。
作者: 只想知道    时间: 2015-1-20 09:31
熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种:
作者: 因胸联盟    时间: 2015-1-24 12:02
这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。
作者: 小女巫    时间: 2015-2-1 09:54
上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题.
作者: 简单生活    时间: 2015-2-7 02:22
通过一条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。
作者: 蒙在股里    时间: 2015-2-17 18:41
Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。
作者: 金色的骷髅    时间: 2015-3-2 22:16
任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux?是抢占式多任务多用户操作系统.
作者: 不帅    时间: 2015-3-4 04:22
如果上面的措施没有解决问题,此时你就需要Linux社区的帮助了。 Linux的使用者一般都是专业人士,他们有着很好的电脑背景且愿意协助他人。
作者: 山那边是海    时间: 2015-3-6 11:14
Linux简单,占内存少,特别是对于程序开发人员来说很方便,如果说windows的成功在于其方便用户的窗口管理界面。
作者: 仓酷云    时间: 2015-3-6 19:06
永中office 2004增强版安装只需要默认安装即可使用并操作大多与win系统雷同,打印机的配置和管理,记录光盘等。
作者: 若天明    时间: 2015-3-13 06:09
为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。
作者: 小妖女    时间: 2015-3-20 14:24
Linux简单,占内存少,特别是对于程序开发人员来说很方便,如果说windows的成功在于其方便用户的窗口管理界面。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2