乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
bash 0.2 判断
2016-04-18 23:25:03
81
0
0
admin
用于test 命令 或者 \[\[ \]\] \[\] -a && 与 -o || 或 ! 取反 #文档类型判断 |参数 |意义 |参数 |意义 | |-------|----------------------|-------|----------------------| |-e file|是否存在 |-f file|是否为文件 | |-d file|是否为目录 |-b file|是否为block 设备 | |-c file|是否为字节设备 |-S file|是否socket | |-P file|是否管道文件 |-h file|是否软链接 | |-s file|是否存在且为非空文件 |-L file|是否软链接 | |-r file|是否可读 |-w file|是否可写 | |-x file|是否可执行 |-u file|是否有suid | |-g file|是否有sgid |-k file|是否有sticky bit | |-O file|是否属于运行用户 |-G file|是否属于运行用户组 | |-N file|是否atime < citime | | | |-t fd |描述符是否指向终端 | | | |file1 -nt file2|file1比file2新|file1 -ot file2|file1比file2旧| |file1 -ef file2|file1与file2是否同一文件(hard link)| || #标量判断 |参数 |意义 |参数 |意义 | |-------------|-------------------------|---------------|------------------| |var1 -eq var2|两整数相等 |var1 -ne var2 |两整数不相等 | |var1 -gt var2|整数var1>整数var2 |var1 -lt var2 |整数var1<整数var2 | |var1 -ge var2|整数var1>=整数var2 |var1 -le var2 |整数var1=<整数var2| |-z var1 |是否为空字符串 |-n(可省略) var1|是否为非空字符串 | |var1 == var2 |两字符串相同(test里可用=)|var1 != var2 |两字符串不相同 | |var1 > var2 |按sort 排的 |var1 < var2 |按sort 排的 | *** #其它的一些判断技巧 ##判断字符串中是否包含某字符串 ```bash [root@test ~]# var=abc [root@test ~]# if echo "$var" | grep a > /dev/null ;then echo match;fi match ``` ##判断数组是否包含某元素 ```bash [root@test ~]# a[0]=a [root@test ~]# a[1]=b [root@test ~]# a[2]=c [root@test ~]# if printf "%1s\n" ${a[@]} | grep "a" >/dev/null ;then echo match;fi match [root@test ~]# if printf "%1s\n" ${a[@]} | grep "f" >/dev/null ;then echo match;fi [root@test ~]# ``` ##判断浮点数大小 ```bash [root@test ~]# echo "1.3 < 1.2" | bc 0 [root@test ~]# echo "1.3 > 1.2" | bc 1 [root@test ~]# if [[ `echo "1.3 > 1.2" | bc` -eq 1 ]];then echo "1.3 > 1.2";fi 1.3 > 1.2 ```
上一篇:
bash 0.1 数据类型
下一篇:
bash 0.3 控制流
文档导航