欢迎来到天天文库
浏览记录
ID:39434120
大小:42.00 KB
页数:10页
时间:2019-07-03
《Bash Shell 十秒钟快速入门指引》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、BashShell要完整深入的掌握,需要花一定的时间,但是有时候工作需要,需要快速的掌握其基本用法并编写简单的程序来满足项目的需要,那么您就可以看看下面的文章,否则没必要花时间在下面的文字上。首先要澄清的是,这里不是要对shell脚本编程作详细的研究,正如本文标题所指出的,这是一篇介绍bashshell脚本编写语法的快速指南。如果你想深入研究,那么建议你买一本关于shell脚本编程的书;-)。好,现在开始我们的学习,开始用停表计时吧!正文:常见的环境变量:$PATH-为可执行程序设置查找路径,与msdos下的$PATH
2、变量类似。$HOME-用户的本地目录(home).$MAIL-保存用户设置的mail投递路径。保存了一串在命令行中用于字符分隔的字符组成的字串。这个字串通常包含了空格,制表符,换行符。要查看之,你要做一个octaldump的操作如下:$echo$IFS
3、od-bcPS1andPS2-第一顺序提示符和第二顺序提示符(Primaryandsecondaryprompts).PS1默认设为$,PS2设置为'>'.查看PS2可以通过如下命令:$ls
4、然后按回车。$USER-用户登陆名。$TERM-终端类型标识。有时必须为编辑器
5、设置正确的终端标识,以便其正常工作。$SHELL-登陆时可通过此查看shell的类型.注意:要查看以上变量的值,只要简单地用echo命令加$变量名就行了。例如:$echo$USERravi就得到了$USER的值。bashshell编程规则1)编写的脚本首行必须为:#!/bin/bash#井号,后跟!叹号,接着是shell的路径。这个语句能够告诉解析器这是一个shell脚本,同时指定shell的路径。2)执行脚本前,先为脚本赋执行权限:$chmodugo+xyour_shell_script.sh3)把脚本以.sh后缀命
6、名。这让人知道这是一个shell脚本。这不是必须的,但是这是规范,没错,规范。条件语句ifif语句-对条件命令进行判断然后决定流程的执行。蓝色的字必要的。红色的则是可选的。语法:ifcondition_is_truethenexecutecommandselseexecutecommandsfiif条件可以是多路选择(分支结构)。这样可以对多条件进行判断。ifcondition_is_truethenexecutecommandselifanother_condition_is_truethenexecutecomma
7、ndselseexecutecommandsfi例子:ifgrep"linuxhelp"thisfile.htmlthenecho"Foundthewordinthefile"elseecho"Sorrynoluck!"fiif的搭档-test命令test是shell的一个内置命令。test对右边的操作数进行判断。返回true或false.为此,test用特定的操作符来作条件判断,如下所示:关系型操作符-eqEqualto等于-ltLessthan小于-gtGreaterthan大于-geGreaterthanoreq
8、ualto大于等于-ltLessthan小于-leLessthanorequalto小于等于文件相关的测试:-ffile存在且为常规文件,则为真-rfile文件存在且可读,则为真-wfile文件存在且可写,则为真-xfile文件存在且可执行,则为真-dfile为文件夹,则为真-sfile文件存在且不为零则为真字符串测试:-nstrTrueifstringstrisnotanullstring-zstrTrueifstringstrisanullstringstr1==str2Trueifbothstringsareeq
9、ualstr1!=str2TrueifbothstringsareunequalstrTrueifstringstrisassignedavalueandisnotnull.上面的意思是:-nstr如果str非空则为真-zstr如果str为空则为真str1==str2如果两个字串相等则为真str1!=str2如果两个字串不等则为真str如果str有赋非空值则为真。test函数也允许在一行中同时检验多个表达式。-aPerformstheANDfunction-oPerformstheORfunction举例:test$d
10、-eq25;echo$d上面的意思是:如果$d变量的值等于25,则输出这个值。test$s-lt50;do_somethingif[$d-eq25]thenecho$dfi在上面的例子中,我用中括号标记的,由test处理,其实,用如下的方式也可以处理:if[$str1==$str2]thendosomethingfiif[-n"$
此文档下载收益归作者所有