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新,则为真
  • 相关阅读:
    博客园
    未释放的已删除文件
    ssh连接缓慢
    剑指 Offer 38. 字符串的排列
    剑指 Offer 37. 序列化二叉树
    剑指 Offer 50. 第一个只出现一次的字符
    剑指 Offer 36. 二叉搜索树与双向链表
    剑指 Offer 35. 复杂链表的复制
    剑指 Offer 34. 二叉树中和为某一值的路径
    剑指 Offer 33. 二叉搜索树的后序遍历序列
  • 原文地址:https://www.cnblogs.com/sunjianlin/p/13168221.html
Copyright © 2011-2022 走看看