• 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新,则为真
  • 相关阅读:
    github上用golang写的项目
    golang项目:goa和micro
    lua远程调试,跨平台支持N多平台
    谈谈逆向android里面的so
    windows server 2016安装
    skynet记录7:第一个服务logger和第二个服务bootstrap
    skynet记录7:服务(c和lua)
    skynet记录6:定时器
    skynet记录5:框架综述
    skynet记录4:简单demo分析
  • 原文地址:https://www.cnblogs.com/sunjianlin/p/13168221.html
Copyright © 2020-2023  润新知