教你怎么使用shell判断文件是否存在

2025-10-26 15:16:13

1、首先我们要touch一个文件。

教你怎么使用shell判断文件是否存在

2、打开它,输入如下

#!/bin/bash

if [ -z $1 ]; then      #如果没有输入参数,也就是第一个参数的字符串长度为0

    :                          #空语句

else

     if [ -e $1 ]; then       #如果文件存在的话

          if [ -f $1 ]; then   #如果文件是个普通文件?

               echo $1" is a text file."

          elif [ -d $1 ]; then #如果文件是个目录文件?

               echo $1" is a directory."

          elif [ -c $1 ]; then #如果文件是个字符设备?

               echo $1" is a char device."

          elif [ -b $1 ]; then #如果文件是个块设备?

               echo $1" is a block device."

          else #否则

               echo $1" is unknow file."

     fi

fi

教你怎么使用shell判断文件是否存在

3、wq保存起来,然后测试它。

教你怎么使用shell判断文件是否存在

4、第一步肯定是要测试参数的问题,如果没参数会怎么样?

教你怎么使用shell判断文件是否存在

5、参数没问题,我们再随便输入一个不存在的文件试试?

教你怎么使用shell判断文件是否存在

6、这完全符合unix哲学,一个程序就该简易,不说更多的废话。很显然,提醒文件不存在是没有必要的,并且缺少参数也是不需要的,我们只要结果,对于unix哲学来说,是这样的。

接下来我们要测试我们的重点,我们的文件。首先从普通文件开始测试,那就测试自己吧。

教你怎么使用shell判断文件是否存在

7、然后测试我们的目录?

教你怎么使用shell判断文件是否存在

8、测试我们的字符设备?但是我们不知道机子上有哪些字符设备怎么办?

那很简单,我们只要ls -l /dev | more 看一下就行,按enter键往下移。

只需要看前面的第一个字符是什么就OK

c代表字符设备,b代表块设备

那我们等会就测试/dev/adsp的字符设备和/dev/hdc的块设备

教你怎么使用shell判断文件是否存在

教你怎么使用shell判断文件是否存在

9、看到了,我们先测试字符设备。

按q退出more

来看看结果

教你怎么使用shell判断文件是否存在

10、然后再看看我们的块设备?

教你怎么使用shell判断文件是否存在

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢