红联Linux门户
Linux帮助

ksh判断文件是否存在

发布时间:2014-11-27 09:51:01来源:linux网站作者:润明

Unix Korn Shell Scripting Reference Sheet中的一段,关于判断文件是否存在等相关的一些问题

-a file exists.

-b file exists and is a block special file.

-c file exists and is a character special file.

-d file exists and is a directory.

-e file exists (just the same as -a).

-f file exists and is a regular file.

-g file exists and has its setgid(2) bit set.

-G file exists and has the same group ID as this process.

-k file exists and has its sticky bit set.

-L file exists and is a symbolic link.

-n string length is not zero.

-o Named option is set on.

-O file exists and is owned by the user ID of this process.

-p file exists and is a first in, first out (FIFO) special file or

named pipe.

-r file exists and is readable by the current process.

-s file exists and has a size greater than zero.

-S file exists and is a socket.

-t file descriptor number fildes is open and associated with a

terminal device.

-u file exists and has its setuid(2) bit set.

-w file exists and is writable by the current process.

-x file exists and is executable by the current process.

-z string length is zero.

是用 -s 还是用 -f 这个区别是很大的!

写shell脚本还是要非常慎重的,很多地方都可能是问题的隐患
#判断index文件是否存在,存在则执行

if [ -s indexFile/$TableName.sql ]
then
sqlplus -s $UserName/$Password@$tns_db @indexFile/$TableName.sql > log/idx$TableName.log 2>&1
fi