UNIX下Shell编程-环境变量,流程控制

UNIX下Shell编程-环境变量,流程控制

ID:44269573

大小:607.50 KB

页数:22页

时间:2019-10-20

UNIX下Shell编程-环境变量,流程控制_第1页
UNIX下Shell编程-环境变量,流程控制_第2页
UNIX下Shell编程-环境变量,流程控制_第3页
UNIX下Shell编程-环境变量,流程控制_第4页
UNIX下Shell编程-环境变量,流程控制_第5页
资源描述:

《UNIX下Shell编程-环境变量,流程控制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、UNIX下Shell编程——环境变量、流程控制Shell是什么任何发明都具有供用户使用的界面。UNIX供用户使用的界面就Shell(DOS的command熟悉吧,但UNIX的要强大的多)。Shell为用户提供了输入命令和参数并可得到命令执行结果的环境。为了不同的需要,UNIX提供了不同的Shell。现在的UNIX大部分都支持BourneShell,我们的UNIX系统版本采用的则是KShell。Shell功能和特点命令行解释使用保留字使用Shell元字符(通配符)可处理程序命令使用输入输出重定向和管道维护一些变量运行环境控制支持Shell

2、编程四种Shell变量本地变量环境变量(以上两种变量被认为是特殊变量(只读))位置变量特定参数变量环境变量登录进程称为父进程,shell中执行的用户进程均称为子进程。环境变量可用于所有子进程,这包括编辑器、脚本和应用。环境变量最好在profile文件中定义。习惯上,所有环境变量均为大写。设置环境变量:VARNAME=value;exportVARNAME显示环境变量:echo$VARNAME以查看所有的环境变量:env清除环境变量:unsetVARNAME测试变量是否已经设置${var:-value}  :如果变量var未定义,返回一个

3、默认值 如果var存在且非空,则表达式${var:-value}的值为$var;如果var未定义,则表达式值${var:-value}为value ${var:=value}  :如果变量var未定义,设置var的默认值为value如果var存在且非空,则${var:=value}的值为$var;如果var为空或未定义,则var被赋值value且表达式值为value ${var:?mesg}  :捕获未定义变量导致的错误 如果var存在且非空,则${var:?value}的值为$var;如果var为空或未定义,则打印mesg并终止脚本$

4、{var:+mesg}  :测试一个变量的存在性 如果var存在且非空,则${var:+value}的返回值为mesg;如果var为空或未定义,则返回null Array.设置只读变量:varname=value;readonlyvarname查看所有只读变量:readonly或readonly-p位置参数变量位置参数变量位置变量的数目有可以任意多,但只有$0-$Array可以被访问$0  $1  $2  $3  $4  $5  $6  $7  $8  $Array  ($0的值为脚本名) echoDidYouSeeTheFullMoo

5、n特定参数变量(7个)$#传递到脚本的参数的个数$*以一个单字符串显示所有向脚本传递的参数。$$脚本运行的当前进程ID号$!最后一个后台运行的进程的进程ID号$@与$#相同,但是使用时加引号,并在引号中返回每个参数(返回一个参数列表) $-显示shell使用的当前选项,与set命令功能相同$?显示前面最后一个命令的退出状态。0表示没有错误,其他任何值表明有错误。流程控制和其他高级程序设计语言一样,Shell提供了用来控制程序执行流程的命令,包括条件分支和循环结构,用户可以用这些命令创建非常复杂的程序。与传统语言不同的是,Shell用于指

6、定条件值的不是布尔运算式,而是命令和字串。1.测试命令test命令用于检查某个条件是否成立,它可以进行数值、字符和文件3个方面的测试,其测试符和相应的功能分别如下。(1)数值测试:-eq等于则为真。-ne不等于则为真。-gt大于则为真。-ge大于等于则为真。-lt小于则为真。-le小于等于则为真。(2)字串测试:=等于则为真。!=不相等则为真。-z字串字串长度伪则为真。-n字串字串长度不伪则为真。(3)文件测试:-e文件名如果文件存在则为真。-r文件名如果文件存在且可读则为真。-w文件名如果文件存在且可写则为真。-x文件名如果文件存在且

7、可执行则为真。-s文件名如果文件存在且至少有一个字符则为真。-d文件名如果文件存在且为目录则为真。-f文件名如果文件存在且为普通文件则为真。-c文件名如果文件存在且为字符型特殊文件则为真。-b文件名如果文件存在且为块特殊文件则为真。另外,Linux还提供了与(!)、或(-o)、非(-a)三个逻辑操作符,用于将测试条件连接起来,其优先顺序为:!最高,-a次之,-o最低。同时,bash也能完成简单的算术运算,格式如下:$[expression]例如:var1=2var2=$[var1*10+1]则var2的值为21。2.if条件语句Shel

8、l程序中的条件分支是通过if条件语句来实现的,其一般格式为:if条件命令串then条件为真时的命令串else条件为假时的命令串fi3.for循环for循环对一个变量的可能的值都执行一个命令序列。赋给变量的几

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。