Bash 专业人员笔记 -- 第 22 章:条件表达式
第 22.1 节:文件类型测试-e条件操作符测试文件是否存在(包括所有文件类型:目录等)。if[[-e$filename]];thenecho"$filenameexists"fi也有针对特定文件类型的测试。if[[-f$filename]];thenecho"$filenameis a regular file"elif[[-d$filename]];thenecho"$filenameis a directory"elif[[-p$filename]];thenecho"$filenameis a named pipe"elif[[-S$filename]];thenecho"$filenameis a named socket"elif[[-b$filename]];thenecho"$filenameis a block device"elif[[-c$filename]];thenecho"$filenameis a character device"fiif[[-L$filename]];thenecho"$filenameis a symbolic link (to any file type)"fi对于符号链接,除了-L之外,这些测试适用于目标文件,并且对于损坏的链接返回 false。if[[-L$filename!-e$filename]];thenecho"$filenameis a broken symbolic link"fi第 22.2 节:字符串比较和匹配字符串比较使用==操作符,两边加引号。!=操作符取反比较。if/