Skip to content
On this page

bash脚本_if语句


标签:linux/bash脚本  

基本格式

bash
if [ 表达式1 ] # 相当于 if test 表达式
then
  # 语句块
fi
bash
if [ 表达式1 ]
then
  # 语句块
else
  # 语句块
fi
bash
if [ 表达式1 ]
then
  # 语句块
elif [ 表达式2 ]
then
  # 语句块
fi

test 指令

逻辑判断:

  • if 中的表达式使用了 test 指令
  • [ 表达式 ] 相当于 test 表达式
  • 常用的逻辑判断参数:
bash
-eq # equal
-ne # not equal
-gt # greater than
-ge # greater equal
-lt # less than
-le # less equal
  • [[]] 只能被 bash 解析,[] 是基本所有的解析器都能解析

文件判断:

bash
-e # 文件存在
-L -h # 文件存在为链接文件
-S # 文件存在且为套接字文件
-p # 文件存在且为管道文件
-s # 文件存在并且有内容
-d # 文件存在且为目录文件
-f # 文件存在且为普通文件
-b # 文件存在且为块设备文件
-c #文件存在且为字符设备文件

字符串的判断:

bash
-n # 判断字符串不为空
-z # 判断字符串为空
=  # 判断相等
!= # 判断不等
 
# 注意:
# 使用test指令对字符串进行判断时,需要加上""为了能够正确的识别字符串范围

Last updated: