shell if 判断总结与实例
if [ command ];then
符合该条件执行的语句
elif [ command ];then
符合该条件执行的语句
else
符合该条件执行的语句
fi
[-d DIR ] 如果DIR存在并且是一个目录则为真
[ -f FILE ] 如果FILE存在且是一个普通文件则为真
[ -e dir||file] 如果指定的文件或者目录存在返回真
[ -z STRING ] 如果STRING的长度为零则为真
[ -n STRING ] 如果STRING的长度非零则为真
[ STRING1 = STRING2 ] 如果两个字符串相同则为真
[ STRING1 != STRING2 ] 如果字符串不相同则为真
[ ARG1 OP ARG2 ] ARG1和ARG2应该是整数或者取值为整数的变量,OP是-eq(等于)-ne(不等于)-lt(小于)-le(小于等于)-gt(大于)-ge(大于等于)之中的一个
[ -r FILE ] 文件存在并且可读权限
[ -w FILE ] 文件存在并且可写权限
[ -x FILE ] 文件存在并且能执行权限
注意:变量取值STRINGx 最好放在""内;
[]和STRING中间有空格;
判断大小比如 -eq 千万注意一定要带"-",使用看下面的例子
1、if语句的基本结构实现:
#!/bin/bash
num=$(ps -ef | grep http | grep -v grep | wc -l)
if [ "$num" -lt "11" ];then
echo "haha"
elif [ "$num" -gt "11" ] && [ "$num" -lt "15" ];then
echo "no !"
else
echo "great than 15"
fi
说明:[ "$num" -gt "11" ] && [ "$num" -lt "15" ] 等价于 [ "$num" -gt "11" -a "$num" -lt "15" ]
2、if判断结合read
#!/bin/bash
#echo -n "please input a num:"
#read num
#echo "input num is $num"
read -p "please input a num:" num
echo -e "input num is $num judging now"
if [ "$num" -lt "60" ];then
echo "you are lost,please work harder!"
elif [ "$num" -ge "60" ] && [ "$num" -lt "85" ];then
echo "good job,baby!"
elif [ "$num" -le "100" ] && [ "$num" -ge "85" ];then
echo "pretty good,cheer"
else
echo "input num is wrong"
fi
说明:通过echo 输出(#注销掉的)和read -p结果是一样的,只需要注意echo的参数设置。
echo -e参数使输出中的反斜线(\)的说明起作用
echo -n参数使引号后的内容接着输出(不换行)
3、文件属性判断
#!/bin/bash
if [ ! -d /tmp/k ];then \\注意空格,感叹号的前后都有一个空格,表示"非"的意思
echo "k is not a document"
else
echo "you are right"
fi
shell基础知识;
精选 转载
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Python基础知识-5
介绍python的各种应用实例
python -
Python基础知识-6
python关于数据库的相关使用例子
python mysql 并发