基本语法
[ condition ]
condition前后都要有空格
非空返回ture,可以用$?验证(0为true,>1为false)
[ abc ] 返回ture
[] 返回false
[ condition ] && echo OK || echo noOK 条件满足,执行后面的语句
常用的判断条件
字符串笔记哦啊
=
两个整数比较
-lt 小于
-le 小于等于
-eq 等于
-gt 大于
-ge 大于等于
-ne 不等于
按照文件权限进行判断
-r 有读的权限
-w 有写的权限
-x 有执行的权限
按照文件类型进行判断
-f 文件存在并且是一个常规的文件
-e 文件存在
-d 文件存在并且是一个目录
#!/bin/bash
#ok是否等于ok
if [ "ok" = "ok" ]
then
echo "equal"
fi
#23是否对于等于22
if [ 23 -ge 22 ]
then
echo "大于"
fi
#判断/root/shellcode/aaa.txt是否存在
if [ -f /root/shellcode/aaa.txt ]
then
echo "存在"
fi
#[]是否为假,这里的中括号后面也有一个空格,不然语法错误
if [ ]
then
echo "假"
fi
运行结果:
编写一个shell程序,如果输入的参数,大于等于60,则输出“及格了”,小于60,则输出“不及格”
#!/bin/bash
[ $1 -ge 60 ]&&echo "及格了"||"不及格"
运行结果