Linux Shell编程
一、Shell Script介绍
1.概念
(1)Shell脚本是包含一系列命令的文本文件
(2)Shell读取此文件并执行命令
2.应用场景
(1)重复性操作
(2)批量事务处理
(3)自动化运维
(4)定制任务执行
二、预定义变量
选项 | 说明 |
---|---|
$# | 命令行参数或位置参数的数量 |
$? | 最近一次执行的命令或shell脚本的出口状态 |
$* | 表示所有的位置参数,其值是所有位置参数的值 |
$$ | 变量是shell脚本里面的进程ID。Shell脚本经常使用 $$ 变量组织临时文件名,确保文件名的唯一性 |
例:
三、数值关系运算符
选项 | 说明 |
---|---|
-eq | 等于 |
-ne | 不等于 |
-gt | 大于 |
-lt | 小于 |
-le | 小于或等于 |
-ge | 大于或等于 |
例:
返回值为Boolean值 但bash shell脚本里没有Boolean值 只能用作条件判断。
条件中非空都为true
四、逻辑运算符
选项 | 说明 |
---|---|
= | 等于 |
!= | 不等于 |
-z | 判断是否为空 |
五、字符运算符
选项 | 说明 |
---|---|
-a或&& | 逻辑与 |
-o或“丨丨” | 逻辑或 |
! | 逻辑否 |
六、文件运算符
选项 | 说明 |
---|---|
-d | 判断是否为目录 |
-e | 判断目录或文件是否存在 |
-f | 判断是否为文件 |
-r | 判断文件或目录针对当前用户是否可读 |
-w | 判断文件或目录针对当前用户是否可写 |
-x | 判断文件或目录针对当前用户是否可执行 |
例:
七、语法
1. for循环
例1
例2
2.while循环
例:
3. case判断
例:
4. TMOUT
例:
5. 字符串截取
例: