Shell 檔案測試符例子


下面是一個例子,它使用的所有檔案測試操作:

假設一個變數的檔案儲存現有檔案名"/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 語句在下一章節中已經解釋的決策宣告。