感谢支持
我们一直在努力

Linux中shell scripts

shell脚本很多人谈论说难,当然,这点不可否认。但是shell脚本难,并不是难在它的规则,语法上。shell脚本趋向于编程,编程难吗?难!!它难在哪!它难在写程序时要像计算机一样去思考,这就是难点。shell也一样,书写语法,规则,并不难。几个小时你就可以学会。但是,把自己变成机器一样去思考,这就比较难了。如果想要克服这一点,那么需要长时间的磨练与不停的思考。


shell scripts的注意事项:shell scripts的撰写执行需要注意以下几点:


1、指令的解析执行是从上至下,从左到右的。


2、指令、选项与参数间的多个空格会被忽略。


3、空行和[TAB]键视作空格。


4、读取到Enter符号(CR)就开始尝试执行


5、可以用”\”换行


6、“#”为注释


shell  script 的书写,把脚本单独放一个目录中,脚本要分段书写,并充分利用注释。


1、第一行#!/bin/bash


2、程序内容说明-文件头


3、主要环境变量、变量宣告


4、函数、主程序部分


5、执行成果报告-返回值


如果一个脚本长时间没用,或者是他人接手的时候根本看不懂这个脚本是干什么用的,本着为他人方便为自己方便的原则,就是写文件头。文件头的内容包括,脚本名称、脚本的功能描述、作者的联系方式、版权宣告、历史记录、其他,等等


在shell脚本中变量是最常用的,而且还会用到返回值,那么什么是变量,脚本返回值代表什么。


变量是脚本编程中进行数据表现的一种方法,是计算机为了保留数据项,而在内存中分配的一个位置或者一组位置的标识或名字、变量既可以出现在算术操作中,也可以出现在字符分析过程中、变量的名字就是变量保存值的地方。引用变量的值就叫做变量的替换。


变量名必须以字母或者下划线开始,后面跟字母数字或下划线。变量用“=”赋值时不要留空格。变量名是大小写敏感的、可以定义NULL值变量。例如d= c=””,不要用特殊字符。如:? , * 等,不要和内部变量冲突。


变量宣告、函数等主程序等,为脚本内容,执行完后script的返回值。返回值是命令的退出状态,用来检测命令执行是否成功。比如


0   代表   成功(success)


non-zero    代表  Failure


2   代表    不正确的用法(incorrect  usage)


126  代表  不可执行(Not  an  executable)


127   代表  命令找不到(Command   not   found)


我们可以用 exit n 、return N 来定义,如下图我们可以看下命令执行后的,返回值,如下图



某些时候需要两相互关联的变量才能完成一个脚本,这个时候需要数组格式var[index]=value 如下图



shell脚本常用的循环。


——————————————


条件语句的,格式


if [condition]


then


command


fi


——————————————-


if[condition];then


command1


else


command2


fi


———————————————


if[condition1];then


command1


elif[condition2];then


command2


else


command3


fi


———————————————–


for循环


格式:for NAME in [list];do


COMMANDS;


done


例:如下图:



————————————————–


while循环


格式:while CONTROL-COMMANDS;do


CONSEQUENT-COMMANDS;


done


例:如下图



—————————————————————


until循环


格式:until  TEST-COMMAND;do


CONSEQUENT-COMMANDS;


done


例:如下图



——————————————————-


case循环


格式:caseEXPRESSION in


CASE1 )


COMMAND-LIST


;;


CASE2)


COMMAND-LIST


;;


…CASEN)


COMMAND-LIST;;


esac


例:如下图



———————————————————–


select (从ksh引入)


格式:select WORD [in LIST];do


RESPECTIVE-COMMANDS;


done


例如下图



————————————————————-


从上面的例子中看到有break的字样,break语句用来在正常结束之前退出当前循环,和break想对应的还有continue语句,continue语句是几句for,while,until, select内的循环。


在shell里还有正则表达式,前面文章里已经介绍过,就不详加介绍, shell就先讨论到这里

赞(0) 打赏
转载请注明出处:服务器评测 » Linux中shell scripts
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏