shell测试和流程控制
2017-05-10 22:02
387 查看
shell流程控制和测试
if 、while、for、case、read
文件测试
-d:测试是否是为目录(Directory)
[ -d /mnt ]
-f:测试是否为文件(file)
[ -f ./file ]
-e:测试目录或文件是否存在(Exist)
[ -e /mnt/file ]
-r:测试当前用户是否具有读取权限(Read)
[ -r ./file ]
-x:测试当前用户是否可执行(Excute)该文件
[ -x ./file ]
-L:测试是否为符号链接(Link)文件
[ -L ./file ]
数字比较
格式:[ 整数1 操作符 整数2 ]
-eq:等于(Equal)
-nq:不等于(Not Equal)
-gt:大于(Greater than)
-lt:小与(less than)
-ge:大于等于(Greater Equal)
-le:小于等于(less Equal)
字符串测试
1.格式:[ 字符串1 = 字符串2 ]
[ 字符串1 != 字符串2 ]
[ -z 字符串3 ]:字符串3为空
逻辑测试
1.-a 或者&&:
for流程控制
for i in a b c
do
…
done
in后面可以是任意命令输出结果
或
for((i=0;i<10;i++))
do
….
done
while控制
3.case流程控制
if 、while、for、case、read
文件测试
-d:测试是否是为目录(Directory)
[ -d /mnt ]
-f:测试是否为文件(file)
[ -f ./file ]
-e:测试目录或文件是否存在(Exist)
[ -e /mnt/file ]
-r:测试当前用户是否具有读取权限(Read)
[ -r ./file ]
-x:测试当前用户是否可执行(Excute)该文件
[ -x ./file ]
-L:测试是否为符号链接(Link)文件
[ -L ./file ]
数字比较
格式:[ 整数1 操作符 整数2 ]
-eq:等于(Equal)
-nq:不等于(Not Equal)
-gt:大于(Greater than)
-lt:小与(less than)
-ge:大于等于(Greater Equal)
-le:小于等于(less Equal)
字符串测试
1.格式:[ 字符串1 = 字符串2 ]
[ 字符串1 != 字符串2 ]
[ -z 字符串3 ]:字符串3为空
逻辑测试
1.-a 或者&&:
if [ -d ./mnt ] && [ 2 -eq 3 ] then echo "yes" else echo "not" fi
&&:只有第一个为真时才判断第二个逻辑 2.-o或者||:只有第一个为假时,才判断第二个逻辑 3.!:逻辑非
for流程控制
for i in a b c
do
…
done
in后面可以是任意命令输出结果
expr 2+3
或
for((i=0;i<10;i++))
do
….
done
while控制
while [ 2 -eq 3] do ... done
3.case流程控制
case i in 1) ... ;; 2) ... ;; *) ... ;; esac
相关文章推荐
- 第七节 Shell条件测试和流程控制
- NO4.Shell脚本学习——Shell条件测试和流程控制
- 04-shell变量测试语句流程控制for循环
- Shell测试运算和流程控制语句 监控disk、cpu和处理qmail邮件队列
- shell 流程控制语句测试
- shell--条件测试语句和流程控制语句的使用
- shell条件测试和流程控制
- Shell测试运算和流程控制语句 监控disk、cpu和处理qmail邮件队列
- Shell脚本(2)之条件测试和流程控制
- SHELL条件测试和流程控制
- shell:条件测试操作与流程控制语句
- Linux Bash Shell学习(十一):流程控制——case
- shell的控制流程语句
- Shell脚本学习笔记(四)--流程控制
- Shell 程序设计的流程控制
- shell-6-退出状态与流程控制语句(if;test;case命令)
- shell 脚本之程序流程控制命令(1)
- 【Shell 编程基础第二部分】Shell里的流程控制、Shell里的函数及脚本调试方法!
- shell的一些基础东西(流程控制等。。。)
- Linux Bash Shell学习(十三):流程控制——while/util