Teng's blog Teng's blog
首页
Java
H5前端
GitHub (opens new window)
首页
Java
H5前端
GitHub (opens new window)
  • 介绍

  • 安装

  • 基础

  • shell

    • 介绍
    • 入门
    • 系统变量
    • 自定义变量
    • 环境变量
    • 位置参数变量
    • 预定义变量
    • 运算符
    • 条件判断
      • 基本语法
      • 常用判断条件
        • 2个整数之间的比较
        • 按照文件的权限进行判断
        • 按照文件类型进行判断
      • 应用实例
    • 流程控制
    • 读取控制台输入
    • 系统函数-路径文件名
    • 自定义函数
    • 工具
    • 数据库备份案例
  • 面试与总结
  • System-Linux
  • shell
Shetengteng
2022-02-26

条件判断

# 基本语法

[ condition ]

  • 注意:condition 左右要有空格,每个元素之间都要有空格
  • 条件非空就是true,[ test ] 返回true,[] 返回false

# 常用判断条件

# 2个整数之间的比较

  • = 字符串比较
  • -lt 小于 less than
  • -le 小于等于 less equal
  • -eq 等于 equal
  • -gt 大于 greater than
  • -ge 大于等于 greater equal
  • -ne 不等于 not equal

示例

# 23 >= 22 ?
[root@hadoop100 sh-demo]# [ 23 -ge 22 ]
[root@hadoop100 sh-demo]# echo $?
0

[root@hadoop100 sh-demo]# [ 23 -ge 26 ]
[root@hadoop100 sh-demo]# echo $?
1

[root@hadoop100 sh-demo]# A=1
[root@hadoop100 sh-demo]# [ $A -eq 1 ]
[root@hadoop100 sh-demo]# echo $?
0

[root@hadoop100 sh-demo]# [ $A -eq 2 ]
[root@hadoop100 sh-demo]# echo $?
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 按照文件的权限进行判断

  • -r 有读的权限 read
  • -w 有写的权限 write
  • -x 有执行的权限 execute

示例

[root@hadoop100 sh-demo]# [ -x paramter.sh ]
[root@hadoop100 sh-demo]# echo $?
0
1
2
3

# 按照文件类型进行判断

  • -f 文件存在并且是一个常规文件 file
  • -e 文件存在 existence
  • -d 文件存在且是一个目录 directory

示例

[root@hadoop100 sh-demo]# [ -d /home/sh-demo/paramter.sh ]
[root@hadoop100 sh-demo]# echo $?
1
1
2
3

# 应用实例

判断字符串

if [ "ok100" = "ok" ]
then
	echo "equal"
fi
1
2
3
4

23是否大于22

if [ 23 -gt 22 ]
then
    echo "大于"
fi
1
2
3
4

/root/shell/aaa.txt 目录中的文件是否存在

if [ -e /root/shell/aaa.txt ]
then
    echo "存在"
fi
1
2
3
4
Last Updated: 2022/03/20, 10:04:55
运算符
流程控制

← 运算符 流程控制→

Theme by Vdoing | Copyright © 2021-2022 Shetengteng | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式