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新,则为真
  • 相关阅读:
    无法通过给定的扩展名确定设备类型
    biuld example_osgviewerGLUT遇到的error Link2019
    OpenGL渲染流水线
    设计模式总目录
    删除thumbs.db是提示正在使用
    COM技术内幕第十章笔记EXE中的服务器
    在高低版本之间互导max文件,以fbx格式为载体尤佳。
    参数值传递的本质
    VS 为什么要检查行尾的一致性?
    vs2005中的GL文件
  • 原文地址:https://www.cnblogs.com/sunjianlin/p/13168221.html
Copyright © 2011-2022 走看看