test
判断文件的类型
指令 | 判断文件的类型 |
---|
-e | 判断文件是否存在 |
-L | 判断文件是否存在,如果存在,是否为链接文件 |
-S | 判断文件是否存在,如果存在,是否为套接字文件 |
-p | 判断文件是否存在,如果存在,是否为管道文件 |
-b | 判断文件是否存在,如果存在,是否为块设备文件 |
-c | 判断文件是否存在,如果存在,是否为字符设备文件 |
-d | 判断文件是否存在,如果存在,是否为目录文件 |
-f | 判断文件是否存在,如果存在,是否为普通文件 |
一般形式:test 选项 文件名
#!/bin/bash
test -f 1.c
echo $?
test -e zc.c
echo $?
test -d zc
echo $?
判断文件的权限:
指令 | 判断文件的权限 |
---|
-r | 判断文件是否有可读权限 |
-w | 判断文件是否有可写权限 |
-x | 判断文件是否有可执行权限 |
wc | 查看普通文件的行数,单词数,字符个数 |
-l | 只查看行数 |
-w | 只查看单词数 |
-c | 只查看字符个数 |
判断文件的时间戳
指令 | 判断文件的时间戳 |
---|
test 文件1 -nt 文件2 | 判断文件1是否比文件2新 |
test 文件1 -ot 文件2 | 判断文件1是否比文件2旧 |
#!/bin/bash
test -f 1.c
echo $?
test -e zc.c
echo $?
test -d zc
echo $?
test -x 1.c
echo $?
test 1.c -ot 3.c
echo $?
【】:
可以实现test的效果
但是在使用时需要在两边空开
#!/bin/bash
[ -f 1.c ]
echo $?
[ -e zc.c ]
echo $?
[ -d zc ]
echo $?
[ -x 1.c ]
echo $?
[ 1.c -ot 3.c ]
echo $?