linux-test测试

  test 测试

三种基本格式

test -f file -a -d folder && echo 1|| echo 0

[ -f file -a -d folder ] && echo 1|| echo 0

[[ -f file && -d folder]]&&echo 1 || echo 0  注释:该种格式-a ,-o对应 &&和||

#以上三种格式都是测试file文件,和folder目录是否同时存在,存在返回1,否则返回0

判断文件选项:

-b<文件>:如果文件为一个块特殊文件,则为真;

-c<文件>:如果文件为一个字符特殊文件,则为真;

-d<文件>:如果文件为一个目录,则为真;

-e<文件>:如果文件存在,则为真;

-f<文件>:如果文件为一个普通文件,则为真;

-g<文件>:如果设置了文件的SGID位,则为真;

-G<文件>:如果文件存在且归该组所有,则为真;

-k<文件>:如果设置了文件的粘着位,则为真;

-O<文件>:如果文件存在并且归该用户所有,则为真;

-p<文件>:如果文件为一个命名管道,则为真;

-r<文件>:如果文件可读,则为真;

-s<文件>:如果文件的长度不为零,则为真;

-S<文件>:如果文件为一个套接字特殊文件,则为真;

-u<文件>:如果设置了文件的SUID位,则为真;

-w<文件>:如果文件可写,则为真;

-x<文件>:如果文件可执行,则为真。 (选项区分大小写)
文件比较:

test File1 –ef File2 两个文件是否为同一个文件,

test File1 –nt File2 判断文件1是否比文件2

test File1 –ot File2 判断文件1比是否文件2

判断整数

test 整数1 -eq整数2 #整数相等

test 整数1 -ge整数2 #整数1大于等于整数2

test 整数1 -gt整数2 #整数1大于整数2

test 整数1 -le整数2 #整数1小于等于整数2

test 整数1 -lt整数2 #整数1小于整数2

test 整数1 -ne整数2 #整数1不等于整数2

判断字符串

test –n 字符串#字符串的长度非零

test –z 字符串#字符串的长度是否为零

test 字符串1=字符串2 #字符串是否相等,若相等返回true

test 字符串1!=字符串2 #字符串是否不等,若不等反悔false   

#对于以上的操作符号,,字符串在测试中,需要用[ -n "$a" ],字符串a需要用""  

 

多重条件判断

-a #两个条件同时成立则返回trueegtest -f -a -d folder &&echo1||echo 0

-o #两个条件任意成立,则返回true,eg: test -f -o -dfolder &&echo 1||echo 0

#相反状态;eg:test ! -f file && echo 1||echo 0,file不为普通文件,echo 1,else echo 0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章