中学建设校园网站方案,如何在一个地方建设网站,上海建站提供商,长沙官网seo技巧shell脚本条件测试语句#xff0c;if#xff0c;case 一.条件测试1.1test命令1.2文件测试1.2.1文件测试常见选项 1.3数值比较1.4字符串比较1.5逻辑测试 二.if语句2.1单分支结构2.3多分支 三.case语句 一.条件测试
1.1test命令
测试特定的表达式是否成立#xff0c;当条件成… shell脚本条件测试语句ifcase 一.条件测试1.1test命令1.2文件测试1.2.1文件测试常见选项 1.3数值比较1.4字符串比较1.5逻辑测试 二.if语句2.1单分支结构2.3多分支 三.case语句 一.条件测试
1.1test命令
测试特定的表达式是否成立当条件成立测试语句的返回值为0否则为其他数值。
格式
test 条件表达式
或【条件表达式】条件表达式的两边都需要有空格且此方法更为常用1.2文件测试
1.2.1文件测试常见选项
常见的测试操作符含义-d测试是否为目录-e测试目录或文件是否存在-f测试是否为文件-r测试当前用户是否有权限读取-w测试当前用户是否有权限写入-x测试当前用户是否有权限执行-L测试是否为软连接文件-nt判断文件A是否比文件B新-ot判断文件A是否比文件B旧-ef判断两个文件是否为同一文件 1.3数值比较
格式
【整数1 操作符 整数2】常见测试操作符
操作符含义-eq等于-ne不等于-ltxiaoyu-gt大于-le小于或等于-ge大于或等于
查询当前目录下的文件数是否大于10如果大于则进行提示
[rootlocalhost ~]#ls |wc -l
15
[rootlocalhost ~]#test ls |wc -l -gt 10 echo 文件数大于10
文件数大于10查看系统内存是否低于1024M ,如果低于则提示
[rootlocalhost ~]#free -mtotal used free shared buff/cache available
Mem: 1758 359 790 17 608 1161
Swap: 3839 0 3839
[rootlocalhost ~]#free -m|grep Mem
Mem: 1758 359 791 17 608 1161
[rootlocalhost ~]#free -m|grep Mem|awk {print $4}
790
[rootlocalhost ~]#freefree -m|grep Mem|awk {print $4}
[rootlocalhost ~]#echo $free
790
[rootlocalhost ~]#test echo $free -lt 1024 echo 内存不足1024M
内存不足1024M
[rootlocalhost ~]#1.4字符串比较 格式
【字符串1字符串2】 # 判断是否相等
【字符串1 字符串2】 # 判断是否不等
【-z 字符串】 # 判断字符串是否为空操作符
操作符含义字符串内容相等字符串内容不同号表示相反的意思-z字符串为空
[rootlocalhost ~]#echo $LANG
zh_CN.UTF-8
[rootlocalhost ~]#test echo $LANGus.enecho 当前系统语言不是us.en当前系统语言为echo $LANG
当前系统语言不是us.en当前系统语言为zh_CN.UTF-8
[rootlocalhost ~]#1.5逻辑测试
格式
【表达式1】操作符 【表达式2】
命令1 操作符 命令2操作符
-a或逻辑与而且的意思-o或ll逻辑或或者的意思逻辑否
二.if语句
2.1单分支结构
格式
if 【条件判断式】than当条件判断成立时执行一条或多条命令
fi如果只有一个判断式要进行那么我们可以使用单分支的if语句只有在条件成立时才会执行否则不会执行任何操作
2.3多分支
if【条件判断式】then当条件判断成立时可以执行一条或多条命令elif【条件判断式二】then当条件判断成立时可以执行一条或多条命令else当上面条件判断都不成立时可以执行一条或多条命令fi如果数据需要进行多种不同得到判断则可以使用多支结构嵌套使用
三.case语句
格式
case 变量名称 in
模式1命令序列
模式2程序段*不包含第一个变量内容与第一个变量内容的其他程序执行段默认程序段esac
注意点
case行首必须以单词“in”每一模式必须以单个右括号结束双分号“”表示命令序列的结束模式字符串中可以用方括号表示一个连续的范围如“【0-9】”还可以使用|表示或比如a|b最后的表示默认模式其中的相当于通配符