Shell-if语句


if [ condition ]; then Command
elif [ condition ]; then Command
else Command
fi

①、逻辑运算符
[table]
|-a|expr1 -a expr2|逻辑与|
|-o|expr1 -o expr2|逻辑或|
|!|!expr1|逻辑非|
[/table]  
②、数值判断
[table]
|-eq|num1 -eq num2|是否相等
|-ne|num1 -ne num2|是否不相等
|-gt|num1 -gt num2|是否大于
|-ge|num1 -ge num2|是否大于等于
|-lt|num1 -lt num2|是否小于
|-le|num1 -le num2|是否小于等于
[/table]
③、字符串判断
[table]
|=|str1 = str2|字符串是否相等
|!=|str1 != str2|字符串是否不等
|-n|-n str1|字符串长度是否不等于0
|-z|-z str2|字符串长度是否等于0
[/table]
④、文件判断
[table]
|-r|-r filename|文件是否存在且可读
|-w|-w filename|文件是否存在且可写
|-s|-s filename|文件是否存在且长度非0
|-f|-f filename|文件是否存在且是普通文件
|-d|-d filename|文件是否存在且是一个目录
[/table]
[color=red]在使用条件判断的时候一定要注意空格,如if [ $name = "liuling" -a $passwd = "lz19921009" ],[]里面前后要有一个空格,所有的判断符号以及逻辑运算符号前后都要有空格,否则会报错。使用[[ 条件 ]]的时候只能使用"&&"符号作为逻辑与来代替"-a",如果使用(( 条件 ))的话,只能用< > >= <=符号,而不能使用“-eq”等符号。[/color]

#!/bin/bash
if [ ${SHELL} = "/bin/bash" ]; then
echo "your login shell is the bash (bourne again shell)"
else
echo "your login shell is not bash but ${SHELL}"
fi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值