shell/条件测试
测试语法
test condition
#或
[ condition ]
使用方括号时,要注意在条件两边加上空格。
文件测试
测试状态:
符号 | 释义 |
---|---|
-d | 是否是目录 |
-f | 是否是文件 |
-L | 是否是符号连接 |
-r | 是否可读 |
-s | 是否非空文件长度大于0 |
-w | 是否可写 |
-u | 是否文件有suid位设置 |
-x | 是否可执行 |
$test -w test.txt
$[ -w test.txt ]
$echo $?
0
逻辑操作符
符号 | 释义 |
---|---|
-a | 逻辑与 |
-o | 逻辑或 |
! | 逻辑否 |
[ -w test.txt -a -x test.txt ]
[ -w test.txt -o -x test.txt ]
字符串测试
语法
test "string"
test "string1" operator "string2"
[ operator "string" ]
[ "string1" operator "string2" ]
字符串操作符
符号 | 释义 |
---|---|
= | 两字符串相等 |
!= | 不相等 |
-z | 空串 |
-n | 非空串 |
[ $name = 'bill' ]
[ -z $name ]
数值测试
语法
test "num1" operator "num2"
[ "num1" operator "num2" ]
数值操作符
符号 | 释义 |
---|---|
-eq | 数值相等 |
-ne | 数值不相等 |
-gt | 第一个数大于第二个数 |
-lt | 第一个数小于第二个数 |
-le | 第一个数小于等于第二个数 |
-ge | 第一个数大于等于第二个数 |
[ $num -eq "30" ]
[ "30" -lt "40" ]
算术操作
expr命令一般用于算术操作:
expr param1 operator param2
例如:
$expr 30 / 3
10
num = 1
num = `expr $num + 1`
##模式匹配
$value=accouts.doc
$expr $value : '\(.*\).doc'
accounts
相关文章
- wget批量下载gitlab uploads的文件和图片
背景 下载gitlab的uploads文件,因为wiki可以直接clone,但是上传的文件和图片却无法下载(除非你有gitlab的服务器权限) 之前尝试用写Java工具下载 遍历所有的.md文件
- shell/设置外网访问权限
/sbin/route add default gw 10.94.144.1 该网段的默认路由地址即路由器的地址为10.xxx.xxx.1 而路由器是可以访问外网的 由于静态路由在网卡启动时会删除,所
- shell/文件权限操作
文件安全与权限 文件类型 d 目录 l 符号连接 s 套接字文件 b 块设备文件 c 字符设备文件 p 命名管道文件 普通文件 改变权限 符号模式 chmod [who] operator
- shell/条件测试
测试语法 test condition #或 [ condition ] 使用方括号时,要注意在条件两边加上空格。 文件测试 测试状态: 符号 释义 -d 是否是目录 -f 是否
- 常用shell命令
常用命令 查找类 find / -name "export.sh" which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文
随机推荐
- wget批量下载gitlab uploads的文件和图片
背景 下载gitlab的uploads文件,因为wiki可以直接clone,但是上传的文件和图片却无法下载(除非你有gitlab的服务器权限) 之前尝试用写Java工具下载 遍历所有的.md文件
- shell/设置外网访问权限
/sbin/route add default gw 10.94.144.1 该网段的默认路由地址即路由器的地址为10.xxx.xxx.1 而路由器是可以访问外网的 由于静态路由在网卡启动时会删除,所
- shell/文件权限操作
文件安全与权限 文件类型 d 目录 l 符号连接 s 套接字文件 b 块设备文件 c 字符设备文件 p 命名管道文件 普通文件 改变权限 符号模式 chmod [who] operator
- shell/条件测试
测试语法 test condition #或 [ condition ] 使用方括号时,要注意在条件两边加上空格。 文件测试 测试状态: 符号 释义 -d 是否是目录 -f 是否
- 常用shell命令
常用命令 查找类 find / -name "export.sh" which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文