bash中如何实现条件判断?
- 条件测试类型:整数测试,字符测试,文件测试
- 条件测试的表达式:
[ expression ]
[ [ expression ] ]
test expression - 整数比较:
-eq:测试两个整数是否相等:比如$A -eq $B
root@VM-0-3-ubuntu:~# A=3
root@VM-0-3-ubuntu:~# B=6
root@VM-0-3-ubuntu:~# [ $A -eq $B ]
root@VM-0-3-ubuntu:~# echo $?
1
root@VM-0-3-ubuntu:~# B=3
root@VM-0-3-ubuntu:~# [ $A -eq $B ]
root@VM-0-3-ubuntu:~# echo $?
0
-ne: 测试是否不等
-gt: 测试是否大于
-lt:是否小于
-ge:大于或等于
-le:小于或等于
- 组合测试条件
-a:与关系
-o:或关系
!: 非关系
if [ $# -gt 1 -a $# -le 3 ]
if [ $# -gt 1 ] && [ $# -le 3 ]
文件测试:
-e FILE:测试文件是否存在
-f FILE:测试文件是否为普通文件
-d FILE:测试指定路径是否为目录
-r ...:当前用户对指定文件是否有读取权限
-w ...
-x ...
[ -e /etc/inittab ]
# 文件不存在则退出,存在则继续执行后续命令
# ! /bin/bash
FILE = etc/inittab
if [ ! -e $FILE ]; then
echo " No file"
exit 5
fi
# 文件存在则执行后续...
字符测试:
-
==
测试是否相等,等号两端要有空客 -
!=
测试是否不等 -
>
<
-
-n string
:测试指定字符串是否为空 -
-z string
:测试指定字符串是否不等
生信技能树公益视频合辑:学习顺序是linux,r,软件安装,geo,小技巧,ngs组学!
请猛戳下面链接:
B站链接:https://m.bilibili.com/space/338686099
YouTube链接:https://m.youtube.com/channel/UC67sImqK7V8tSWHMG8azIVA/playlists
生信工程师入门最佳指南:https://mp.weixin.qq.com/s/vaX4ttaLIa19MefD86WfUA
网友评论