shell编程语句
文章目录
一、条件测试语句
1、test命令
测试表达式是否成立,若成立返回0,否则返回其他数值
格式一:test 条件表达式
格式二:[ 条件表达式 ] 括号俩边要有空格
2、文件测试
格式:[ 操作符 文件或目录 ]
常用的操作符
-e:测试目录或文件是否存在(exist)
-d:测试是否为目录(directory)
-f :测试是否为文件(File)。
-r:测试当前用户是否有权限读取(Read)。
-w:测试当前用户是否有权限写入(Write)。
-x:测试是否设置有可执行(Excute)权限。
3、 整数值比较
[ 整数1 操作符 整数2 ]
-eq:等于
-ne:不等于
-gt:大于
-lt:小于
-le:小于或等于
-ge:大于或等于
4、浮点运算
bash不支持浮点运算,如果需要进行浮点运算,需要借助bc,awk处理。
5、 字符串比较
格式1:[ 字符串1 = 字符串2 ]
[ 字符串1 != 字符串2 ]
格式2: [ -z 字符 ]
常用的测试操作符
=:字符串内容相同
!=:字符串内容不同, !号表示相反的意思
-z:字符串内容为空
-n :检测字符串是否存在
6、逻辑测试
格式1: [ 表达式1 ] 操作符 [ 表达式2 ]
格式2:命令1 操作符 命令2
常用的操作符
a或&&:逻辑与, "而且"的意思
-0或||:逻辑或, "或者"的意思
!:逻辑否
同一个括号内用-a或-o
两个括号间用&& 或 ||
二、 if语句
1、if语句单分支结构
if 条件测试操作` `then 命令序列 fi
2、双分支 if 语句
if 条件测试操作
then
命令序列 1
else
命令序列 2
fi
3、多分支 if 语句
if 条件测试操作 1
then
命令序列 1
elif 条件测试操作 2
then
命令序列 2
[else]
[命令序列 3]
fi
三、case语句
case 变量值 in
模式 1)
命令序列 1
;;
模式 2)
命令序列 2
;;
……
*)
默认命令序列
1
elif 条件测试操作 2
then
命令序列 2
[else]
[命令序列 3]
fi