判断文件属性脚本
#!/bin/bash # 输入一个路径 read -p "输入文件的绝对路径:" file # 死循环 while true do # 判断文件是否存在 if [ -e $file ];then echo "文件存在,开始判断" while true do echo "-----------------" echo " 1.文件是否为文件 2.文件是否为目录 3.文件是否可执行 4.文件是否可读 5.文件是否可写 0.退出 " echo "------------------" # 使用选择执行的命令 read -ep "输入您的选择项" number case $number in 1) # 判断是否为文件 if [ -f $file ];then echo "这是个文件" else echo "这不是个文件,请从新选择" fi ;; 2) # 判断是否为目录 if [ -d $file ];then echo "这是个目录" else echo "这不是个目录,请从新选择" fi ;; 3) 判断是否可执行 if [ -x $file ];then echo "这是个可执行文件" else echo "这不是个可执行文件,请从新选择" fi ;; 4) # 判断是否可读 if [ -r $file ];then echo "这是个可读文件" else echo "这不是个可读文件,请从新选择" fi ;; 5) # 判断是否可写 if [ -w $file ];then echo "这是个可写文件" else echo "这不是个可写文件,请从新选择" fi ;; 0) # 退出选项 exit 0 *) # 没有选项的配置 echo "没有这个选项,请从新选择" esac done else # 文件不存在则退出 echo "文件不存在退出" exit 0 fi
shell文件属性
运算符 | 作用 | 运算符 | 作用 |
-e |
如果 filename存在,则为真 |
-d | 如果 filename为目录,则为真 |
-f | 如果 filename为常规文件,则为真 | -L | 如果 filename为符号链接,则为真 |
-r | 如果 filename可读,则为真 | -w | 如果 filename可写,则为真 |
-x | 如果 filename可执行,则为真 | ** –nt ** | 如果 filename1比 filename2新,则为真 |