shell编程流程控制语句--if--条件判断表达式的语法规则

一.用expr

格式expr m + n 或$((m+n)),注意expr运算符要有空格

例如(2+3)*4的值

1.分步运算

  S=‘expr 2 + 3’

  expr $S \* 4        ##    *号需要转义

2.一步完成计算

  expr 'expr 2 + 3 '\* 4

  echo 'expr \'expr 2 + 3\'\* 4'

二.用(())   //不需要空格

((1+2))

(((2+3)*4))

count=1

((count++))

echo $count     取运算结果需要用$引用

a=$((1+2))

三.用$[]

a=$[1+2]

echo $a

四.if语法

#!/bin/bash

read -p "please input your name:" NAME   ##read命令用于从控制台读取输入数据

## printf '%s\n' $NAME

if [ $NAME = root ]

  then

    echo "hello $(NAME), welcome!"

  elif [ $NAME = itcast ]

    then

      echo "hello $(NAME), welcome!"

  else

    echo "Get out here!"

fi

五.判断条件

1.条件判断基本语法

  [condition]   (注意condition前后要有空格)

#非空返回true, 可使用$?验证(0为true, >1为true)          [ itcast ]

#空返回false      [    ]

2.条件判断组合

[ condition ] && echo OK || echo notok    条件满足,执行&&后面的语句;条件不满足,执行||后面的语句

注:[]与[[  ]]的区别:[[  ]] 中逻辑组合可以使用 &&  ||符号,而[]里面逻辑组合可以用-a  -o

3.常用判断运算符

字符串比较: =  !=  -z   -n

-z字符串长度为0返回true

-n字符串长度不为0返回true

整数比较:-lt小于   -le小于等于  -eq等于   -gt大于   -ge大于等于   -ne不等于

文件判断:-d是否为目录

     -f 是否为文件

     -e 是否存在

猜你喜欢

转载自www.cnblogs.com/chengting/p/11531164.html