shell基础知识学习二

条件表达式:

1、文件表达式

#如果文件存在
if [ -f file ] 
#如果目录存在
if [ -d dir ]
#如果文件存在且非空
if [ -s file ]
#如果文件存在且可读
if [ -r file ]
#如果文件存在且可写
if [ -w file ]
#如果文件存在且可执行
if [ -x file ]


2、整数表达式

#如果a等于b
if [ a -eq b ]
#如果a不等于b
if [ a -ne b ]
#如果a大于b
if [ a -gt b ]
#如果a大于等于b
if [ a -ge b ]
#如果a小于b
if [ a -lt b ]
#如果a小于等于b
if [ a -le b ]


3、字符串变量

a=''
b=''
#如果a等于b
if [ ${a} = ${b} ]
#如果a不等于b
if [ ${a} != ${b} ]
#如果a非空
if [ -n ${a} ]
#如果a为空,长度为0
if [ -z ${a} ]

 

=放在if中就是字符串的等于,在别的地方就是赋值。等号作为赋值和等于的时候,写法上是有很大区别的:赋值等号两边不能有空格,等于等号两边必须有空格。

判断字符串非空上面的方式测试不正确,但是看很多资料上都是这么说的(不推荐)。下面这种方式是经过测试的

if  [ ${a} ]  如果a为空走else。

4、逻辑表达式

  4.1、非  if [ ! 表达式 ]

  4.2、与

  if [ 表达式   -a   表达式 ]   或者  if [ 表达式 ]   &&  [ 表达式 ]

 

echo 'write path:'
read path
if [ -d ${path} -a -n ${path} ]
then 
 echo '---'
else
 echo '+++'
fi

判断输入是目录同时不为空串
执行结果:  --- 

 4.3、或

  if [ 表达式   -o  表达式 ]  或者  if [ 表达式  ]  ||  [ 表达式 ]

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值