shell之if判断的总结

shell之if判断的总结
  shell if 判断总结与实例   if [ command ];then
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Shell语言中,if条件判断用于在满足特定条件时执行相应的语句块。基本语法如下: if [ command ]; then 符合该条件执行的语句 elif [ command ]; then 符合该条件执行的语句 else 符合该条件执行的语句 fi 其中,command是一个条件表达式或者一条命令,如果该条件为真,则执行相应的语句块。如果有多个条件需要判断,可以使用elif关键字。如果所有条件都不满足,则执行else语句块中的内容。最后,使用fi来结束if语句块。 下面是一些示例: ``` #!/bin/bash var1="1" var2="2" # 使用并且的运算符 -a if test $var1 = "1" -a $var2 = "2" ; then echo "equal" fi # 使用或运算符 -o if test $var1 != "1" -o $var2 != "3" ; then echo "not equal" fi # 使用非运算符 ! # 如果条件为真,则执行 if ! test $var1 != "1"; then echo "not 1" fi ``` 以上三个if语句都满足条件,所以其中的echo语句都会被执行。这是Shell中对字符串进行比较和判断的一种方式。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [总结shell中的if条件判断](https://blog.csdn.net/w2009211777/article/details/125450061)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Shell中if判断](https://blog.csdn.net/jsugs/article/details/122695875)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值