shell脚本很多人谈论说难,当然,这点不可否认。但是shell脚本难,并不是难在它的规则,语法上。shell脚本趋向于编程,编程难吗?难!!它难在哪!它难在写程序时要像计算机一样去思考,这就是难点。shell也一样,书写语法,规则,并不难。几个小时你就可以学会。但是,把自己变成机器一样去思考,这就比较难了。如果想要克服这一点,那么需要长时间的磨练与不停的思考。shell scripts的注意事项:shell scripts的撰写执行需要注意以下几点:1、指令的解析执行是从上至下,从左到右的。2、指令、选项与参数间的多个空格会被忽略。3、空行和[TAB]键视作空格。4、读取到Enter符号(CR)就开始尝试执行5、可以用""换行6、“#”为注释shell script 的书写,把脚本单独放一个目录中,脚本要分段书写,并充分利用注释。1、第一行#!/bin/bash2、程序内容说明-文件头3、主要环境变量、变量宣告4、函数、主程序部分5、执行成果报告-返回值如果一个脚本长时间没用,或者是他人接手的时候根本看不懂这个脚本是干什么用的,本着为他人方便为自己方便的原则,就是写文件头。文件头的内容包括,脚本名称、脚本的功能描述、作者的联系方式、版权宣告、历史记录、其他,等等在shell脚本中变量是最常用的,而且还会用到返回值,那么什么是变量,脚本返回值代表什么。变量是脚本编程中进行数据表现的一种方法,是计算机为了保留数据项,而在内存中分配的一个位置或者一组位置的标识或名字、变量既可以出现在算术操作中,也可以出现在字符分析过程中、变量的名字就是变量保存值的地方。引用变量的值就叫做变量的替换。变量名必须以字母或者下划线开始,后面跟字母数字或下划线。变量用“=”赋值时不要留空格。变量名是大小写敏感的、可以定义NULL值变量。例如d= c="",不要用特殊字符。如:? , * 等,不要和内部变量冲突。变量宣告、函数等主程序等,为脚本内容,执行完后script的返回值。返回值是命令的退出状态,用来检测命令执行是否成功。比如0 代表 成功(success)non-zero 代表 Failure2 代表 不正确的用法(incorrect usage)126 代表 不可执行(Not an executable)127 代表 命令找不到(Command not found)我们可以用 exit n 、return N 来定义,如下图我们可以看下命令执行后的,返回值,如下图某些时候需要两相互关联的变量才能完成一个脚本,这个时候需要数组格式var[index]=value 如下图shell脚本常用的循环。------------------------------------------条件语句的,格式if [condition]thencommandfi-------------------------------------------if[condition];thencommand1elsecommand2fi---------------------------------------------if[condition1];thencommand1elif[condition2];thencommand2elsecommand3fi-----------------------------------------------for循环格式:for NAME in [list];doCOMMANDS;done例:如下图:--------------------------------------------------while循环格式:while CONTROL-COMMANDS;doCONSEQUENT-COMMANDS;done例:如下图---------------------------------------------------------------until循环格式:until TEST-COMMAND;doCONSEQUENT-COMMANDS;done例:如下图-------------------------------------------------------case循环格式:caseEXPRESSION inCASE1 )COMMAND-LIST;;CASE2)COMMAND-LIST;;...CASEN)COMMAND-LIST;;esac例:如下图-----------------------------------------------------------select (从ksh引入)格式:select WORD [in LIST];doRESPECTIVE-COMMANDS;done例如下图-------------------------------------------------------------从上面的例子中看到有break的字样,break语句用来在正常结束之前退出当前循环,和break想对应的还有continue语句,continue语句是几句for,while,until, select内的循环。在shell里还有正则表达式,前面文章里已经介绍过,就不详加介绍, shell就先讨论到这里Linux基础:正则表达式RHEL5.7下iptables防火墙配置相关资讯 Linux Shell
- Linux基础知识:shell基础命令 (今 10:39)
- Linux系统监控shell脚本 (04月09日)
- Linux shell脚本编程 (03月01日)
| - Linux shell数组 (07月26日)
- Linux Shell实现批量关闭局域网中 (03月10日)
- Linux系统入门教程:如何知道当前 (11/27/2015 08:36:09)
|
本文评论 查看全部评论 (0)