第五章、Shell基本语法

5.1shell条件测试

Shell测试有test命令和[]方式,如果结果为0表示正确,否则错误。可以测试文件状态,数值比较,逻辑测试等。

测试文件状态:-f是否为文件,-d是否为目录,-l是否为连接文件,-w是否具有写的权限,-e是否存在。下面的test1不存在,2存在。

条件测试:格式[数值1  操作符  数值2]

常用操作符:-eq等于,-ne不等于,-gt大于,-lt小于,-le小于等于,-ge大于等于。记忆英语最好equalgreateless

注:[]左右必须留空格,

条件测试:

字符串比较格式:[字符串1  =或!=  字符串2]

逻辑测试:[表达式1] 操作符 [表达式2]

-a/&&表示逻辑与;-o/||表示逻辑或;!表示逻辑非

5.2 shell条件判断语法

首先用if语句做判断,判断磁盘我们使用awk来进行过滤,我们这里使用最基本的功能,如抓取第四行的第五个数据,然后取整比较,来判断磁盘。

If的双分支语句。我们可以使用判断实例,如果3306端口打开则显示打开信息,否则重启mysql

For语句,可以用来循环和取in里的值

这里介绍一下数学运算,可以用expr输出结果,或执行$((运算))

While循环:包含如下两种形式,形式1是先判断后执行,例如批量加入客户,然后再批量删除用户。

Case多重分支语句:例如当执行./mydb.sh start时,启动mysql;当执行./mydb.sh stop时,关闭mysql;如输入其他信息显示帮助。*代表其它所有命令。

键盘输入一个字符判断是否为字母,数字或其它信息。

Shift迁移语句:用于位置迁移将$1~$9一次左移。实例:将数据一次传递计算总和。./sum.sh 12 23 便可以得到结果。

Breakcontinue是用户跳出循环。Break跳出循环体,continue跳出本次循环。

5.3 shell函数概述

Shell函数是指需要经常调用的语句块,即可成为函数。合理使用shell函数,可以明显提高编程效率。

对于函数,赋值要加载在函数里面