bash shell 中if的用法

条件判断的写法

[ 条件表达式 ]
[[ 条件表达式 ]]

注意这里在[]中开始和结尾需要空格,不然运行会出错
例子

#!/bin/bash
a=0
b=1
[ $a -eq $b ]
echo " a不等于b"片

这里提一下bash shell中一些需要注意的东西

1整数比较

-eq 表示  =
-ne 表示 !=
-gt 表示 >
-lt 表示 <
-ge 表示 >=
-le表示 <=

2命令间的逻辑关系
辑与:&&
第一个条件为假 第二个条件不用在判断,结果为假
第一个条件为真,第二个条件必须得判断。必须两个同时为真才为真

逻辑或:||
第一个条件为假,继续判断第二个。只需要有一个为真,即为真

3符串比较

== 等于  两边要有空格
!= 不等
>  大于
<  小于

文件比较

-z string 测试指定字符是否为空,空着真,非空为假
-n string 测试指定字符串是否为不空,空为假 非空为真
-e FILE 测试文件是否存在
-f file 测试文件是否为普通文件
-d file 测试指定路径是否为目录
-r file 测试文件对当前用户是否可读
-w file 测试文件对当前用户是否可写
-x file 测试文件对当前用户是都可执行
-z  是否为空  为空则为真
-a  是否不空

bash shell中if的结构语法大体为三类
1

 if  [ 条件表达式 ];then
 			命令
 	fi
 			

2

if [ 条件表达式 ] ; then
    命令
     else
    命令
     fi

3

if [ 条件表达式 ]; then
   	命令
elif [ 条件表达式 ]; then
   命令
else
   命令
fi

一个例子
我们这里有一个文本我们要判断这个文本1234里面是否存在有字母R

#!/bin/bash
#
grep "p" ./1234.txt &> 123.txt
a=$?
echo "$a"
 
 if [ $a -eq 0 ]; then
        echo "存在字母R "
 else
        echo "不纯在字母R"   
fi
发布了5 篇原创文章 · 获赞 2 · 访问量 714

猜你喜欢

转载自blog.csdn.net/a1240948329/article/details/87957712