if 判断文件、目录属性

[ -f file ]判断是否是普通文件,是否存在

#!/bin/bash
f="/tmp/1.txt"            #定义变量
if [ -f $f ]              #如果变量f存在,且是个普通文件
then                      #那么
    echo $f  exist        #echo $f  exist
else                      #否则
    touch $f              #创建这个文件
fi

if 判断文件、目录属性

[ -d file ] 判断是否是目录,是否存在

#!/bin/bash
f="/tmp/1.txt"            #定义变量
if [ -d $f ]              #如果变量f存在,且是个目录
then                      #那么
    echo $f  exist        #echo $f  exist
else                      #否则
    touch $f              #创建这个文件
fi

[ -e file ] 判断文件或目录是否存在

#!/bin/bash
f="/tmp/1.txt"            #定义变量
if [ -e $f ]              #如果变量f是否存在
then                      #那么
    echo $f  exist        #echo $f  exist
else                      #否则
    touch $f              #创建这个文件
fi

[ -r file ] 判断文件是否可读

#!/bin/bash
f="/tmp/1.txt"            #定义变量
if [ -r $f ]              #如果变量f是否可读
then                      #那么
    echo $f  exist        #echo $f  exist
else                      #否则
    touch $f              #创建这个文件
fi

[ -w file ] 判断文件是否可写

#!/bin/bash
f="/tmp/1.txt"            #定义变量
if [ -w $f ]              #如果变量f是否可写
then                      #那么
    echo $f  exist        #echo $f  exist
else                      #否则
    touch $f              #创建这个文件
fi

[ -x file ] 判断文件是否可执行

#!/bin/bash
f="/tmp/1.txt"            #定义变量
if [ -x $f ]              #如果变量f是否可执行
then                      #那么
    echo $f  exist        #echo $f  exist
else                      #否则
    touch $f              #创建这个文件
fi

-----

#!/bin/bash
f="/tmp/1.txt"
[ -f $f ]  &&  rm -f $f           #判断文件是否存在,存在则删除        &&表示当前面得命令,执行成功得时候,才会执行后面得命令

注意项:

[ -f  $f ]  &&  rm -f  $f   写法等于
if [ -f  $f ]    #如果文件存在
then             #那么
    rm -f  $f    #删除这个文件
fi

if [ ! -f  $f ]    #!表示取反,意思不存在。

猜你喜欢

转载自blog.51cto.com/13451715/2336689