zoukankan      html  css  js  c++  java
  • shell-脚本_判断文件属性

    判断文件属性脚本

    #!/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 ** 如果 filename1filename2新,则为真
  • 相关阅读:
    fabu dao fenleizhong
    net core 发布到服务器的方式
    暗示net core
    new post
    gg
    asb
    Nodejs 8.0 踩坑经验汇总
    禁止未发布的博文上首页等
    SortedList
    JSON.stringify 语法实例讲解
  • 原文地址:https://www.cnblogs.com/sunjianlin/p/13168221.html
Copyright © 2011-2022 走看看