if [ -f /etc/passwd ]; then
echo "found"
else
echo "not found"
fi
其中的 -f 就代表 is a file.
在 https://sites.google.com/site/tiger2000/home 有列出所有的 file test 選項:
[ -e file ] file exists
[ -f file ] file is a file
[ -d file ] file is a directory
[ -c file ] file is a character device
[ -b file ] file is a block device
[ -p file ] file is a named pipe
[ -s file ] file is not empty
[ -k file ] file's sticky bit is set
[ -S file ] file is a socket
[ -L file ] file is a symbolic link
[ -r file ] file is readable by user
[ -w file ] file is writeable by user
[ -x file ] file is executeable by user
[ -O file ] file is owner by user
[ -G file ] file is group owned by a greoup
[ -u file ] file has its set user ID bit set
[ -g file ] file has its group user ID bit set
[ file1 -nt file2 ] file1 is newer than file2
[ file1 -ot file2 ] file1 is older than file2
[ file -ef file2 ] file1 is another name for file2
[ $str1 = $str2 ] str1 string is the same as string str2
另外一個,是 and , or 的 邏輯運算:
-a and
-o or
! not
* 奇怪的是 這些 邏輯運算後面的 operand 好像要加"" 括號
沒有留言:
張貼留言