概述
一.条件判断语句语法结构
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。
最后
以上就是阔达音响为你收集整理的流程控制语句1---条件判断语句,流程控制语句(判断文件类型,文件权限,文件新旧,判断整数,字符串,多重条件判断,流程控制,pgrep)的全部内容,希望文章能够帮你解决流程控制语句1---条件判断语句,流程控制语句(判断文件类型,文件权限,文件新旧,判断整数,字符串,多重条件判断,流程控制,pgrep)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复