每天学一点Linux
#数字计算
# $(())
a=$((1+1))
echo $a
# $[]
echo $[1+2]
echo $[a+2]
echo $[a+c]
#内部判断
-eq # 等于,如:**if** [ "$a" -eq "$b" ]
-ne # 不等于,如:**if** [ "$a" -ne "$b" ]
-gt # 大于,如:**if** [ "$a" -gt "$b" ]
-ge # 大于等于,如:**if** [ "$a" -ge "$b" ]
-lt # 小于,如:**if** [ "$a" -lt "$b" ]
-le 小于等于,如:**if** [ "$a" -le "$b" ]
-z 字符串为"null".就是长度为0.
-n 字符串不为"null"
#文件测试
-e 文件存在
-a 文件存在
这个选项的效果与-e相同. 但是它已经被"弃用"了, 并且不鼓励使用.
-f 表示这个文件是一个*一般
*
文件(并不是目录或者设备文件)
-s 文件大小不为零
-d 表示这是一个目录
-b 表示这是一个块设备(软盘, 光驱, 等等.)
-c 表示这是一个字符设备(键盘, modem, 声卡, 等等.)
-p 这个文件是一个[管道]
-h 这是一个[符号链接]
-L 这是一个符号链接
-S 表示这是一个[socket]
-t 文件([描述符])被关联到一个终端设备上
这个测试选项一般被用来检测脚本中的stdin([ -t 0 ]) 或者stdout
([ -t 1 ]
)是否来自于一个终端.
-r 文件是否具有可读权限(*指的是正在运行这个测试命令的用户是否具有读权限*)
-w 文件是否具有可写权限(指的是正在运行这个测试命令的用户是否具有写权限)
-x 文件是否具有可执行权限(指的是正在运行这个测试命令的用户是否具有可执行权限)
-g set-group-id(sgid)标记被设置到文件或目录上
网友评论