linux shell 编程小记
if 条件 OPTION
OPTION | 解释 |
---|---|
[-a file] | 如果file存在则为真 ,也可以表示为 and: 条件与 if [ -z “condition1” -a -z “condition2” ] |
[-b file] | 如果file存在且是一个块特殊文件则为真 |
[-c file] | 如果file存在且是一个字特殊文件则为真 |
[-d file] | 如果 file 文件存在且是一个目录则为真,d前的!是逻辑非 #表示目录不存在,则执行后面的 then 操作 if [ ! -d lcd_path/par_date ] |
[-e file] | 如果 file文件存在则为真 |
[-f file] | 如果 file 存在且是一个普通文件则为真 |
[-g file] | 如果 file 存在且已经设置了SGID则为真(SUID 是 Set User ID, SGID 是 Set Group ID的意思) |
[-h file] | 如果 file 存在且是一个符号连接则为真 |
[-k file] | 如果 file 存在且已经设置粘制位则为真 |
[-p file] | 如果file存在且是一个名字管道(F如果O)则为真。管道是linux里面进程间通信的一种方式, 其他的还有像信号(signal)、信号量、消息队列、共享内存、套接字(socket)等 |
[-r file] | 如果file存在且是可读的则为真 |
[-s file] | 如果file存在且大小不为0则为真 |
[-t FD] | 如果文件描述符FD打开且指向一个终端则为真 |
[-u file] | 如果file存在且设置了SUID(set userID)则为真 |
[-w file | 如果file存在且是可写的则为真 |
[-x file] | 如果file存在且是可执行的则为真 |
[-O file] | 如果file存在且属有效用户ID则为真 |
[-G file] | 如果file存在且属有效用户组则为真 |
[-L file] | 如果file存在且是一个符号连接则为真 |
[-N file] | 如果file存在and has been mod如果ied since it was last read则为真 |
[-S file] | 如果file存在且是一个套接字则为真 |
[-o optionname] | 如果shell选项“optionname”开启则为真 |
[-z string] | “string”的长度为零则为真 |
[-n string] or [string] | “string”的长度为非零non-zero则为真 |