shell——流程控制

1条件判断

1. 条件判断语法格式

  • 格式1: test 条件表达式
  • 格式2: [ 条件表达式 ]
  • 格式3: [[ 条件表达式 ]]
  • 格式4:(( 条件表达式 ))
  • 条件判断相关参数
    可以判断文件类型,判断文件新旧,判断字符串是否相等,判断权限等等…
    ㈠ 判断文件类型
    -e (判断文件是否存在)
    -f (判断是否存在并且是普通文件)
    -d (判断文件是否存在并且是一个目录)
    在这里插入图片描述
    举例说明:
    test -e file 只要文件存在条件为真
    [ -d /shell01/dir1 ] 判断目录是否存在,存在条件为真 注:前方带空格
    [ ! -d /shell01/dir1 ] 判断目录是否存在,不存在条件为真 注:前方带空格
    [[ -f /shell01/1.sh ]] 判断文件是否存在,并且是一个普通的文件

㈡ 判断文件权限

在这里插入图片描述

㈢ 判断文件新旧

说明:这里的新旧指的是文件的修改时间。
在这里插入图片描述

㈣ 判断整数

在这里插入图片描述

㈤ 判断字符串

在这里插入图片描述

㈥ 多重条件判断

在这里插入图片描述
特别说明:
&& 前面的表达式为真,才会执行后面的代码
|| 前面的表达式为假,才会执行后面的代码
; 只用于分割命令或表达式
① 举例说明
数值比较
[root@server ~]# [ KaTeX parse error: Expected 'EOF', got '&' at position 17: …id -u) -eq 0 ] &̲& echo "the use… [ KaTeX parse error: Expected 'EOF', got '&' at position 17: …id -u) -ne 0 ] &̲& echo "the use… [ $(id -u) -eq 0 ] && echo “the user is admin” || echo “the user is not admin”
[root@server ~]# uid=id -u
[root@server ~]# test $uid -eq 0 && echo this is admin
this is admin
[root@server ~]# [ $(id -u) -ne 0 ] || echo this is admin
this is admin
[root@server ~]# [ KaTeX parse error: Expected 'EOF', got '&' at position 17: …id -u) -eq 0 ] &̲& echo this is … [ $(id -u) -eq 0 ] && echo this is admin || echo this is not admin
this is not admin

类C风格的数值比较

注意:在(( ))中,=表示赋值;==表示判断

[root@server ~]# ((1==2));echo $?
[root@server ~]# ((1<2));echo $?
[root@server ~]# ((2&g

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值