微信小程序个人网站开发,wordpress开头,企业网站优化电话,广州自助建站模板一、测试
1.1文件测试test
test命令是内部命令 test的语法
test 条件表达式
[ 条件表达式 ] test 选项 文件
-d #xff1a;判断是否是目录
-f #xff1a;判断是否是普通文件
-b #xff1a;判断是否是块设备
-c #xff1a;判断是否是字符设备
-e #xff1a;判断是否…一、测试
1.1文件测试test
test命令是内部命令 test的语法
test 条件表达式
[ 条件表达式 ] test 选项 文件
-d 判断是否是目录
-f 判断是否是普通文件
-b 判断是否是块设备
-c 判断是否是字符设备
-e 判断是否存在 ##建议不使用
-e 判断是否存在 ##好用建议使用
-r 判断是否有读的权限 ##好用
-w 判断是否有写的权限 ##好用
-x 判断是否有执行的权限 ##好用
test的用法 中括号的用法 注意-e和-a的区别在于取反建议使用-e即可 总结test主要用于判断文件是否存在[]也有这样的用处所以常还是使用[]test不常用 1.2整数值比较[]
整数的比较判断使用英文
-eq 表示等于
-ne 表示不等于
-gt 表示大于
-ge 表示大于等于
-lt 表示小于
-le 表示小于等于
案例一判断boot分区的使用率是否够用 案例二比较两个变量的大小 1.3字符串比较 表示字符串相同表示字符串内容不相同
-z 表示字符串内容为空
-n 表示字符串存在
语法格式
[ 字符串1 字符串2 ] ##判断两个字符串是否相同
[ 字符串1 ! 字符串2 ] ##判断两个字符串是否不相同
[ -z 字符串 ] ##判断字符串是否为空或是否存在存在且空也为不存在
案例一判断变量是否有值 案例二借助环境变量判断用户是否存在 1.4逻辑测试短路运算
短路运算
与相当于电路串联
格式1[判断1] [判断2]
格式2命令1 命令2
##表示需要命令1和命令2都为真才为真真的意思是$?为0##执行逻辑如果命令1为真继续执行命令2如果命令1为假没必要执行命令2或|| 相当于电路并联
格式1[判断1] || [判断2]
格式2命令1 || 命令2
##表示需要命令1和命令2其中一个为真就为真真的意思是$?为0##执行逻辑如果命令1为真没必要执行命令2如果命令1为假执行命令2
合并用法只需要记住一个
命令1 命令2 ||命令3特殊用法表示判断命令1执行结果正确执行命令2错误执行命令3
#!/bin/bash
read -p 请输入想测试的ip地址 ip
ping -c 3 -W2 $ip /dev/null echo $ip is online || echo $ip is offline-a或逻辑与表示而且的意思全真为真 -o或||逻辑或表示或一真为真 逻辑否 在条件表达式中是可以相互转换的但是命令序列不能变换 格式1[判断1] [判断2] 可以 格式2命令1 命令2 不可以 下面哪些语法是错误的
[rootlocalhost opt]#[ $a -ne 12 ] [ $a -gt 5 ];echo $?
[rootlocalhost opt]#[ $a -ne 12 -a $a -gt 5 ];echo $?
[rootlocalhost opt]#[[ $a -ne 12 $a -gt 5 ]];echo $?
[rootlocalhost opt]#[ $a -ne 12 $a -gt 5 ];echo $? ##错误需要双中括号
[rootlocalhost opt]#[ $a -ne 12 ] -a [ $a -gt 5 ];echo $? ##错误不能这样使用 产生随机数测试运气 1.5双中括号支持正则表达式和通配符
[[ expression ]] 用法左侧字符串是否和右侧的PATTERN相同注意:此表达式用于[[ ]]中PATTERN为通配符~ 左侧字符串是否能够被右侧的正则表达式的PATTERN所匹配注意: 此表达式用于[[ ]]中扩展的正则表达式 总结注意使用的语法可以理解为双中括号可以支持模糊匹配 [rootlocalhost opt]#scriptping.sh [rootlocalhost opt]#[[ $script *.sh ]];echo $?可以 [rootlocalhost opt]#[[ $script ~ sh$ ]];echo $?可以 1.6小括号和花括号的区别 总结 小括号类似于bash在子bash中运行不影响当前bash环境变量 花括号类似于source在当前的bash环境运行会影响当前bash的环境变量的值且需要以分号结尾 二、if语句的结构
if条件语句的结构类型
2.1单分支结构
if [ 判断 ]
then
命令序列
fi
2.2双分支结构
if [ 判断 ]
then
命令序列1
else
命令序列2
fi
2.3多分支结构
if [ 判断1 ]
then
命令序列1
elif [ 判断2 ]
then
命令序列2
elif [ 判断3 ]
then
命令序列3
.....(可以有多个)
else
命令序列4
fi
实操1判断是否为超级管理员 实操2根据分数反馈表现结果 实操3根据判断添加用户 实操4剪刀石头步小游戏 实操5判断几点进行问好 三、case语句的结构
case的语法结构
case 变量 in
条件1)
命令序列1
;;
条件2
命令序列2
;;
.....可以添加多个条件
esac ##这就是case的反过来的字母