if (-f $Db_file.".nhr")

-f运算符测试其操作数是否是常规文件,而不是目录,符号链接或其他特殊文件。

所有以-开头的运算符都称为文件测试运算符,通常也可以在shell脚本语言中找到。它们是一元运算符(仅占一个操作数),如!~是一元运算符。

-e     该“文件名”是否存在
-f    该“文件名”是否为文件
-d    该“文件名”是否为目录
-b    该“文件名”是否为一个块设备
-c    该“文件名”是否为一个字符设备
-S    该“文件名”是否为一个套接字文件
-p    该“文件名”是否为一个FIFO文件
-L    该“文件名”是否为一个连接文件
-r     检测该文件名是否具有“可读”属性
-w    检测该文件名是否具有“可写”属性
-x     检测该文件名是否具有“可执行”属性
-u     检测该文件名是否具有“SUID”属性
-g     检测该文件名是否具有“SGID”属性
-k     检测该文件名是否具有“Sticky bit”属性

-s     检测该文件名是否为“非空白文件”

原文地址:https://www.cnblogs.com/yuanjingnan/p/12421779.html