系统相关
首页 > 系统相关> > Shell day2

Shell day2

作者:互联网

## 01 条件测试(上) Shell脚本的智能化 - 是shell脚本获得识别能力? - 为命令的执行提供最直接的识别依据 1. 文件的目录的读/写等状态 2. 数值的大小 3. 字符串是否匹配 4. 多条件组合 **test测试操作** - 语法格式 - test 选项 参数 - [ 选项 参数 ] - help test帮助文档 **字符串比较** - 基本语法: 1. 是否为空 [ -z 字符串 ] 如果字符串为空则为真。 2. 等于 [ 字符串1 == 字符串2 ] 3. 不等于 [ 字符串1 != 字符串2 ] (取反) ```bash -z 字符串 如果字符串为空则为真。 [root@system1 ~]# [ -z "$TT" ] [root@system1 ~]# echo $? 0 [root@system1 ~]# [ "$USER" == tom ] [root@system1 ~]# echo $? 1 [root@system1 ~]# [ "$USER" != root ] [root@system1 ~]# echo $? 1 ``` **整数值比较** - [ 整数值1 操作符 整数值2 ] |操作符|含义| |-|-| |-eq|等于equal| |-ne|不等于not equal| |-ge|大于或等于greater or equal| |-le|小于或等于less or equal| |-gt|大于greater than| |-lt|小于less than| 判断当前系统登录用户个数 ```bash [root@system1 ~]# who root tty2 2021-06-27 12:13 (tty2) root pts/1 2021-06-30 09:35 (192.168.0.48) [root@system1 ~]# [ $(who | wc -l) -le 5 ] [root@system1 ~]# echo $? 0 ``` **文件状态测试** - [ 操作符 文件或目录 ] |操作符|含义| |-|-| |-e|判断对象是否存在exist,存在为真| |-d|判断对象是否为目录directory,是则为真| |-f|判断对象是否为一般文件,是则为真| |-r|判断当前用户是否可读read权限,是则为真| |-w|判断当前用户是否有write权限,是则为真| |-x|判断当前用户是否有excute权限,是则为真| ```bash [root@system1 ~]# [ -e /etc/hosts ] [root@system1 ~]# echo $? 0 [root@system1 ~]# [ -d /etc/hosts ] [root@system1 ~]# echo $? 1 [root@system1 ~]# [ -f /etc/ ] [root@system1 ~]# echo $? 1 [root@system1 ~]# ll -d /etc/hosts -rw-r--r--. 1 root root 158 9月 10 2018 /etc/hosts [root@system1 ~]# [ -x /etc/hosts ] [root@system1 ~]# echo $? 1 ``` ## 02 条件测试(下) ## 03 if语句 ## 04 for循环 ## 05 while循环 ## 06 综合案例

标签:Shell,##,day2,echo,etc,system1,字符串,root
来源: https://blog.51cto.com/u_14224160/2961766