if_else case 用法

##函数形式
#!/bin/bash
set -x
echo_color(){
if [ $1 = "green" ]; then
        echo "\033[32;40m$1\033[0m"
elif [ $1 = "red" ]; then
        echo "\033[31;40m$1\033[0m"
else
        echo "print had"
fi
}
echo_color green
echo_color red



##非函数形式  test2.sh
#!/bin/bash
set -x
if [ $1 = "green" ]; then
        echo "\033[32;40m$1\033[0m"
elif [ $1 = "red" ]; then
        echo "\033[31;40m$1\033[0m"
else
        echo "print had"
fi

#执行
sh test2.sh green
sh test2.sh red

 

##case 形式
echo_color(){
    case $1 in
         green)
         echo  "\033[32;40m$1\033[0m"
          ;;
         red)
          echo  "\033[31;40m$1\033[0m"
           ;;
          *)
            echo "Example: echo_color red string"
    esac
}
echo_color green
echo_color red


##外部输入变量
#!/bin/bash
echo "qingshuruyanse"
read  color
    case $color in
         green)
         echo  "\033[32;40m green \033[0m"
          ;;
         red)
         echo "\033[32;40m red \033[0m"
           ;;
          *)
            echo "Example: echo_color red string"
    esac
##if 整数比较

#!/bin/bash
a=30
b=20
if [ $a -eq $b ]
then
        echo "a=b"
elif [ $a -gt $b ]
then
        echo "a>b"
else
        echo "no"
fi

 

 

##附上if 基本语法
##整数比较
-eq 等于,如:if [ "$a" -eq "$b" ]
    -ne 不等于,如:if [ "$a" -ne "$b" ]
    -gt 大于,如:if [ "$a" -gt "$b" ]
    -ge 大于等于,如:if [ "$a" -ge "$b" ]
    -lt 小于,如:if [ "$a" -lt "$b" ]
    -le 小于等于,如:if [ "$a" -le "$b" ]
     大于(需要双括号),如:(("$a" > "$b"))
    >= 大于等于(需要双括号),如:(("$a" >= "$b"))
    小数据比较可使用AWK #下一篇单独介绍awk数据处理

##字符比较
   = 等于,如:if [ "$a" = "$b" ]
   == 等于,如:if [ "$a" == "$b" ],与=等价
   != 不等于,如:if [ "$a" != "$b" ]
   这个操作符将在[[]]结构中使用模式匹配.
   大于,在ASCII字母顺序下.如:
   if [[ "$a" > "$b" ]]
   if [ "$a" \> "$b" ]
     注意:在[]结构中">"需要被转义.
   -z 字符串为"null".就是长度为0.
   -n 字符串不为"null"

### 文件类型比较
-f  文件存在并且是一个常规的文件
-s  文件存在且不为空
-d  文件存在并是一个目录
-b  文件存在并且是一个块设备
-L  文件存在并且是一个软连接
###执行权限比较
-r  有读的权限
-w  有写的权限
-x  有执行的权限

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石兴稳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值