正文
《linux就该这么学》课堂笔记06 编写shell脚本、if、for
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
1.1、脚本的两种方式
交互式(Interactive):用户每输入一条命令就立即执行。
批处理(Batch):由用户事先编写好一个完整的Shell脚本,Shell会一次性执行脚本中诸多的命令。
1.2、构成
#! /bin/bash 脚本声明
# 脚本注释
脚本命令1
脚本命令2
...
1.3、参数
$0:当前脚本程序的名称
$#:脚本接收参数总数
$*:对应所有位置参数
$?:对应上一次命令执行的返回值 (0:true,非零值:false)
$1、$2、$3、$4...:分别对应第N个位置的参数值
2、条件测试语句可以分为4种 :
文件测试语句;
逻辑测试语句;
整数值比较语句;
字符串比较语句。
文件测试所用的参数
操作符 | 作用 |
-d | 测试文件是否为目录类型 |
-e | 测试文件是否存在 |
-f | 判断是否为一般文件 |
-r | 测试当前用户是否有权限读取 |
-w | 测试当前用户是否有权限写入 |
-x | 测试当前用户是否有权限执行 |
可用的整数比较运算符
操作符 | 作用 |
-eq (equal) | 是否等于 |
-ne (not equal) | 是否不等于 |
-gt (greater than) | 是否大于 |
-lt (less than) | 是否小于 |
-le | 是否等于或小于 |
-ge | 是否大于或等于 |
常见的字符串比较运算符
操作符 | 作用 |
= | 比较字符串内容是否相同 |
!= | 比较字符串内容是否不同 |
-z | 判断字符串内容是否为空 |
if条件测试语句
单分支结构关键词:if、then、fi
if 条件测试操作
then
命令序列
fi
或
if 条件测试操作 ; then
命令序列
fi
双分支结构关键词:if、then、else、fi
if 条件测试操作
then
命令序列1
else
命令序列2
fi
多分支结构关键词:if、then、elif、else、fi
if 条件测试操作1
then
命令序列1
elif 条件测试操作2
then
命令序列2
else
命令序列3
fi
for条件循环语句
for 变量名 in 取值列表
do
命令序列
done