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则为真
阅读更多