流程控制语句1---条件判断语句,流程控制语句(判断文件类型,文件权限,文件新旧,判断整数,字符串,多重条件判断,流程控制,pgrep)

一.条件判断语句语法结构

1. 条件判断语法格式:

1). 格式1: test 表达式

2). 格式2: [ 条件表达式 ]

3). [[ 条件表达式 ]] 支持正则=~

注:

1)条件表达式与两边括号之间要空格

2)man test去查看更多参数, 很多参数都可以用来进行条件判断

二.条件判断相关参数:文件类型判断

1.判断参数

-e        判断文件是否存在(任何类型文件)

-f         判断文件是否存在并且是一个普通文件

-d        判断文件是否存在并且是一个目录

-L        判断文件是否存在并且是一个软链接文件

-b        判断文件是否存在并且是一个块设备文件

-S        判断文件是否存在并且是一个套接字文件

-c         判断文件是否存在并且是一个字符文件

-p         判断文件是否存在并且是一个命名管道文件

-s         判断文件是否存在并且是一个非空文件

2.条件判断相关参数:文件类型判断

应用范例                               含义

[ -f file1 ];echo $?             判断file1是否为普通文件

[ -d file1 ];echo $?            判断file是否为目录

[-L file3 ];echo $?             判断file3是否为软链接

[ ! -d dir1 ];echo $?           判断dir1是否不是目录

[[ -f file1 ]];echo $?           判断file1是否为普通文件

[ -e file1 ];echo $?           判断file1是否存在

3.条件判断相关参数:文件权限判断

判断参数                     含义

-r                        当前用户对其是否有读权限

-w                       当前用户对其是否有写权限

-x                        当前用户对其是否有执行权限

-u                        当前用户对其是否有suid特殊权限(高级权限冒险位)

-g                        当前用户对其是否有guid特殊权限(高级权限强制位)

-k                        当前用户对其是否有o+t特殊权限(高级权限粘滞位)

4.条件判断相关参数:文件新旧判断

注意: 这里的新旧指的是文件的修改时间。

判断参数                               含义

file1 -nt file2                       比较file1是否比file2新

file1 -ot file2                       比较file1是否比file2旧

file1 -ef file2                       比较是否为同一个文件,或者用于判断硬连接,是否指向同一个inode

5.条件判断相关参数:判断整数

判断参数                     含义

-eq                              相等

-ne                             不相等

-gt                               大于

-ge                            大于等于

-lt                                 小于

-le                            小于等于

6.条件判断相关参数:判断字符串

判断参数                                     含义

-z                                           判断是否为空字符串,字符串长度位0

-n                                           判断是否为非空字符串,字符串长度大于0

string1 = string2                     判断字符串是否相等

string1 != string2                    判断字符串是否不相等

三.多重条件判断

判断符号                        含义                             举例

-a 和 &&              逻辑与,全真则真             [ -f /etc/passswd -a [ -f /etc/group]

                                                                     [ -f /etc/passwd ] && [ -f /etc/group ]

-o 和 ||                 逻辑或,全假则假             [ -f /etc/passswd -o -f /etc/group ]

                                                                      [ -f /etc/passwd ] || [ -f /etc/group ]

特别说明:

&& 前面的表达式为真,才会执行后面的代码

|| 前面的表达式为假,才会执行后面的代码

四.流程控制语句

1.单向

if 条件判断语句;then

command1

command2

fi

2.双向

if 条件判断语句;then

command1

command2

else

fi

3.多向

if 条件判断语句;then

command1

if 条件判断语句;then

command2

else

command3

fi

五.拓展: pgrep命令

pgrep命令:以名称为依据从运行进程队列中查找进程,并显示查找到的进程id

选项

 -o:仅显示找到的最小(起始)进程号;

 -n:仅显示找到的最大(结束)进程号;

 -l:显示进程名称;

 -P:指定父进程号;pgrep -p 4764 查看父进程下的子进程id

 -g:指定进程组;

 -t:指定开启进程的终端;

 -u:指定进程的有效用户ID。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值