下面是一个例子,它使用的所有文件测试操作:
假设一个变量的文件保存现有文件名"/var/www/yiibai/unix/test.sh",其大小为100字节,读,写和执行权限:
#!/bin/sh file="/var/www/yiibai/unix/test.sh" if [ -r $file ] then echo "File has read access" else echo "File does not have read access" fi if [ -w $file ] then echo "File has write permission" else echo "File does not have write permission" fi if [ -x $file ] then echo "File has execute permission" else echo "File does not have execute permission" fi if [ -f $file ] then echo "File is an ordinary file" else echo "This is sepcial file" fi if [ -d $file ] then echo "File is a directory" else echo "This is not a directory" fi if [ -s $file ] then echo "File size is zero" else echo "File size is not zero" fi if [ -e $file ] then echo "File exists" else echo "File does not exist" fi
这将产生以下输出结果:
File has read access File has write permission File has execute permission File is an ordinary file This is not a directory File size is zero File exists
记下以下几点:
-
运算符和表达式之间必须有空格,例如2+2是不正确的,它应该写成2 + 2。
-
if...then...else...fi 语句在下一章节中已经解释的决策声明。