4.shell程序设计的流程控制
以bash这个shell为例介绍用shell程序设计的高级部分
shell程序设计的高级部分:
①shell编程的流程控制、调试方法
②shell程序的运行方法
顺便介绍一下bash的内部命令
shell的功能:
提供了用来控制程序执行流程的命令
执行流程的命令包括:
①条件分支
②循环结构
执行流程的命令的功能:
建立复杂程序
shell用于指定条件值的语句:
①命令
②字符串
【区别于传统语言的布尔表达式】
4.1 test测试命令
作用:检查某个条件是否成立
测试哪些方面:
①数值
②字符
③文件
测试符和功能如下:
- 4.1.1 数值测试
-eq:等于则为真
-ne:不等于则为真
-gt:大于则为真
-ge:大于等于则为真
-lt:小于则为真
-le:小于等于则为真
- 4.1.2 字符串测试
=:等于则为真
!=:不相等则为真
-z字符串:字符串长度伪则为真
-n字符串:字符串长度不伪则为真
- 4.1.3 文件测试
-e文件名:如果文件存在则为真
-r文件名:如果文件存在且可读则为真
-w文件名:如果文件存在且可写则为真
-x文件名:如果文件存在且可执行则为真
-s文件名:如果文件存在且至少有一个字符则为真
-d文件名:如果文件存在且为目录则为真
-f文件名:如果文件存在且为普通文件则为真
-c文件名:如果文件存在且为字符型特殊文件则为真
-b文件名:如果文件存在且为块特殊文件则为真
Linux提供了三个逻辑操作符:
①与!
②或-o(字母o)
③非-a
bash也能完成简单的算术运算,格式如下:
$[expression]
例如:
var1 = 2;
var2 = $[var1 * 10 + 1];
则var2的值为21