教你怎么使用shell判断文件是否存在
1、首先我们要touch一个文件。

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

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

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

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

6、这完全符合unix哲学,一个程序就该简易,不说更多的废话。很显然,提醒文件不存在是没有必要的,并且缺少参数也是不需要的,我们只要结果,对于unix哲学来说,是这样的。
接下来我们要测试我们的重点,我们的文件。首先从普通文件开始测试,那就测试自己吧。

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

8、测试我们的字符设备?但是我们不知道机子上有哪些字符设备怎么办?
那很简单,我们只要ls -l /dev | more 看一下就行,按enter键往下移。
只需要看前面的第一个字符是什么就OK
c代表字符设备,b代表块设备
那我们等会就测试/dev/adsp的字符设备和/dev/hdc的块设备


9、看到了,我们先测试字符设备。
按q退出more
来看看结果

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