欢迎来到天天文库
浏览记录
ID:48795259
大小:251.50 KB
页数:32页
时间:2020-01-27
《UNIX和LINUX-SHELL - 副本.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、UNIIX和LINUX的SHELL使用简介常用shell介绍:Bourneshell:sh最初使用的shell并且在每种UNIX上都可以使用。Bourneshell在shell编程方面相当优秀,但在处理与用户的交互方面作得不如其他几种shellCshell:cshCshell的语法和C语言的很相似;更多的考虑了用户界面的友好性Kornshell:ksh商业软件,集合了Cshell和Bourneshell的优点并且和Bourneshell完全兼容tcsh(free)csh的扩展,LINUX较常用BourneAgainshell:bash(GNU)是Lin
2、ux的标准shell,完全免费相容於Bourneshell(sh)包含有Cshell以及Kornshell中最好的功能其他一般是以上的修改扩展后形成一shellscript语法1流程注释操作符“#”为注释.if操作符if[条件表达式]then命令序列fi或if[条件表达式]then命令序列else命令序列fi数值操作符=等于-n不等于-gt大于-lt小于-le小于等于exit命令用于结束SHELL脚本.可以带一个返回值expr命令以数值和算术运算符作为参数,计算结果,将其返回标准输出.$expr4+59合法算术运算符有+、-、*、/和%.在*和/之前必
3、须冠以反斜线,已防被SHELL先行解释.for操作符for$环境变量in字符串表do语句序列donewhile操作符while[条件表达式]do语句序列doneuntil操作符(注:测试发生在循环末尾,因此循环至少执行一次)until[条件表达式]do语句序列donebreak及continue用于for,while,until等流程控制case操作符case$环境变量in常量1)语句序列1;;常量2)语句序列2;;常量n)语句系列n;;esac......测试文件状态testcondition或[condition]-d目录-s文件长度大于0、非空-
4、f正规文件-w可写test-wfilename.txt;echo&?-L符号连接-u文件有suid位设置-r可读-x可执行-a逻辑与,操作符两边均为真,结果为真,否则为假。-o逻辑或,操作符两边一边为真,结果为真,否则为假。!逻辑否,条件为假,结果为真。字符串测试:这里,string_operator可为:=两个字符串相等。!=两个字符串不等。-z空串。-n非空串测试数值"num"num_operator"num"或者["num"num_operator"num"]num_operator可为:-eq数值相等。-ne数值不相等。-gt第一个数大于第二个
5、数。-lt第一个数小于第二个数。-le第一个数小于等于第二个数。-ge第一个数大于等于第二个数2变元和符号用户变元(本地变元)var=string若加上唯读,则加readonly系统变元(环境变元)需要exportname已设定好的系统变元:$HOME使用者自己的目录$PATH执行命令时所搜寻的目录$TZ时区$MAILCHECK每隔多少秒检查是否有新的信件$PS1在命令列时的提示号$PS2当命令尚未打完时,Shell要求再输入时的提示号$MANPATHman指令的搜寻路径特殊变元$#传入脚本的命令行变元数;$*所有命令行变元值;$0命令本身$1第一个命
6、令行变元;$2第二个命令行变元shift下一个参数$$脚本运行的当前进程ID号$!后台运行的最后一个进程的进程ID号$@与$#相同,但是使用时加引号,并在引号中返回每个参数$-显示shell使用的当前选项,与set命令功能相同$?显示最后命令的退出状态.0表示没有错误,其他任何值表明有错误特殊符号`命令取代(子shell开始)子shell结束{命令区块开始}命令区块结束;命令分隔号'单引号(不具变数置换的功能)"双引号(具置换的功能)3函数SHELL函数funcname(){命令序列}调用时funcnamearg1arg2函数返回:1正常执行到函数末尾
7、,然后返回;if[$?=0]thenokelsefailurefi2使用return返回;0--success;other--failure;创建函数文件并载入shell:.filename检查:set调用:类似卸载:unsetfuncName二例子1例1number=0while(test$number-lt10)doecho"$number/c"number=`expr$number+1`done结果如下:0123456789例2WORK_DIR=/data2/chenxd/accounting10modifilename(){cd$WORK_DI
8、R/data/$1#absolutepathforfinsend*doif[-f$f]then
此文档下载收益归作者所有