shell 脚本 if

参考 菜鸟教程 Shell 流程控制 、菜鸟教程 Shell test 命令Shell if 条件判断linux 下shell中if的“-e,-d,-f”是什么意思、 

 shell  if 语法

if [ condition1 ]
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi

语法解释

  • [  ]表示条件测试。注意这里的空格很重要。要注意在'['后面和']'前面都必须要有空格
  • if then els fi 等是分开的语句。如果要在同一行里面输入,则需要用分号将他们隔开
  • if  [ "$cmd_line" = "cmd" ] ;then echo "tongyihang ====  "; else echo "tongyihang not ===="; fi

整数变量表达式

  • -eq 等于
  • -ne 不等于
  • -gt 大于
  • -ge 大于等于
  • -lt 小于
  • -le 小于等于

字符串表达式 

  • =  判断字符串相等 
  • ==  判断字符串相等     等同于=
  • !=   不等于

cmd_line="cmd"

#判断字符串相等 
if  [ "$cmd_line" = "cmd" ] 
then
    echo "  ==   "
  else
    echo "  not =="
fi

文件/文件夹(目录)表达式

  • -e filename 如果 filename存在,则为真。判断文件是否存在
  • -d filename 如果 filename为目录,则为真 。
  • -f filename 如果 filename为常规文件,则为真。判断文件类型 
#判断文件是否存在
if [ -e ${filename} ]
then 
   echo "file is exist"
else
   echo "file is not exist"
fi

逻辑与 && 和 逻辑或 ||

逻辑与 command1 && command2

  • command1和command2都返回真,整个表达式才返回真。
  • 如果command1返回假,command2不再执行,整个表达式直接返回 假
  • 如果command1返回真,才会执行command2 

逻辑或  command1 || command2

  • 只要有一个表达式返回真,整个表达式就返回真
  • 如果command1返回真,command2不再执行,整个表达式直接返回 真
  • 如果command1返回假,才会执行command2 
发布了208 篇原创文章 · 获赞 84 · 访问量 44万+

猜你喜欢

转载自blog.csdn.net/dreamstar613/article/details/104987119