文章目录
一、条件测试操作
1.1 test命令
测试表达式是否成立,若成立返回0,否则返回其他数值
格式1:test 条件表达式
格式2:[ 条件表达式 ]
-
文件测试
[ 操作符 文件或目录 ]
常用的测试操作符
类型 | 作用 |
---|---|
-d | 测试是否为目录(Directory) |
-e | 测试目录或文件是否存在(Exist) |
-f | 测试是否为文件(File) |
-r | 测试当前用户是否有权限读取(Read) |
-w | 测试当前用户是否有权限写入(Write) |
-x | 测试当前用户是否有权限执行(eXcute) |
1.2 整数值比较
[ 整数1 操作符 整数2 ]
常用的测试操作符
类型 | 作用 |
---|---|
-eq | 等于(Equal) |
-ne | 不等于(Not Equal) |
-gt | 大于(Greater Than) |
-lt | 小于(Lesser Than) |
-le | 小于或等于(Lesser or Equal) |
-ge | 大于或等于(Greater or Equal) |
free -m:查看内存使用情况
查看资源占用:内存、CPU、磁盘空间
"$ freecc"或者${freecc}后面加内容可以不加空格!!!
1.3 字符串比较
格式1:[ 字符串1 = 字符串2 ] [ 字符串1 != 字符串2 ]
格式2:[ -z 字符串 ]
常用的测试操作符:
类型 | 作用 |
---|---|
= | 字符串内容相同 |
!= | 字符串内容不同,!号表示取反 |
-z | 字符串内容为空 |
1.4 逻辑测试
格式:
格式1:[ 表达式1 ] 操作符 [ 表达式2 ] …
格式2:命令1 操作符 命令2 …
常用的测试操作符:
类型 | 作用 |
---|---|
-a或&& | 逻辑与,而且的意思(第一个不成立后面就不会再看了) |
-o或 // | 逻辑或,或者的意思(第一个成立就直接成立) |
! | 逻辑否,取反 (和后面一个字符中间有空格) |
二、if 语句
2.1 单分支结构
if 条件测试操作
then 命令程序
fi
单分支if语句应用
2.2 双分支结构
if 条件测试操作
then 命令序列1
else 命令序列2
fi
双分支if语句应用
双分支 if语句只是在单分支的基础上针对"条件不成立"的情况执行另一种操作,而不是"坐视不管"地不执行任何操作。
举例1:
举例2:
例如,若要编写一个连通性测试脚本 ping.sh,通过位置参数$1 提供目标主机地址,然后根据 ping检测结果给出相应的提示,可以参考以下操作过程。
在上述脚本代码中,为了提高 ping 命令的测试效率,使用了"-c""-""-W"选项,分别指定只发送三个测试包、间隔0.2秒、超时 3 秒。另外,通过"&>/dev/null"屏蔽了 ping 命令执行过程的输出信息。
2.3 多分支结构
if 条件测试操作1
then 命令序列1
elif 条件测试操作2
then 命令序列2
else
命令序列3
fi
举例;
邮箱报警
yum -y install mailx
vi /etc/mail.rc
set from=836589623@qq. com
set smtp=smtp. qq. com
set smtp-auth-user=xxxxxxxqq.com
set smtp-auth-password=***************授权码
set smtp-auth=login
echo “123123” | mail -s “test” xxxxxxxx@qq.com
三、case语句结构
3.1 case多分支结构
case 变量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
......
*)
默认命令序列
esac