第五章、Shell基本语法
5.1shell条件测试
Shell测试有test命令和[]方式,如果结果为0表示正确,否则错误。可以测试文件状态,数值比较,逻辑测试等。
测试文件状态:-f是否为文件,-d是否为目录,-l是否为连接文件,-w是否具有写的权限,-e是否存在。下面的test1不存在,2存在。
条件测试:格式[数值1 操作符 数值2]
常用操作符:-eq等于,-ne不等于,-gt大于,-lt小于,-le小于等于,-ge大于等于。记忆英语最好equal,greate,less。
注:[]左右必须留空格,
条件测试:
字符串比较格式:[字符串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 便可以得到结果。
Break和continue是用户跳出循环。Break跳出循环体,continue跳出本次循环。
5.3 shell函数概述
Shell函数是指需要经常调用的语句块,即可成为函数。合理使用shell函数,可以明显提高编程效率。
对于函数,赋值要加载在函数里面