Z.K.的博客

博观约取 厚积薄发

【Linux】shell---判断用户输入的是否为文件

  编写一个shell文件,判断用户输入的是否为一个文件,如果是文件的话是个什么样的文件(普通文件,目录还是别的?)
  首先介绍一下test命令常用选项

选项 含义
-e 该文件名是否存在
-f 该文件名是否存在且为文件(file)
-d 该文件名是否为目录
-z 改文件名是否为空

除了使用test命令之外,这些命令也可以用[]来代替(注意,’[‘和’]’两遍两边都要加空格)比如:
这里写图片描述

下面是判断用户输入的是否为文件的shell实现

#!/bin/bash
read -t 30 -p "please input a file name:" filename
if [ -z "$filename" ]
        then
                echo "nothing input"
                exit 1
elif [ ! -e "$filename" ]
        then
                echo "the $filename is not exist"
                exit 2
elif [ -f "$filename" ]
        then
                echo "$filename is a regular file"
elif [ -d "$filename" ]
        then
                echo "$filename is a directory"
else
        echo "$filename is an other file"
fi

编辑完成后,退出编辑器,输入chmod 755 shell5.sh
执行shell5.sh的结果
这里写图片描述

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ww1473345713/article/details/51536004
个人分类: Linux
上一篇【Linux】文件读写及cat命令的实现
下一篇【Linux】shell--批量处理压缩包
想对作者说点什么? 我来说一句

免费的vpn小白兔软件

2011年06月08日 978KB 下载

没有更多推荐了,返回首页

关闭
关闭