您的位置:首页 > 运维架构 > Shell

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 或者&&:

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