linux shell 查询文件是否在根目录下

一开始,我想,既然是根目录,那就这样写:

#!/bin/bash
filename=$1
echo "$filename"
if [ -f "/root/$filename" ];then
echo "文件存在"
else
echo "文件不存在"
fi

然而,测试了很多次,发现行不通呀,识别不了我输入的文件名

后来,我换了一个目录

#!/bin/bash
filename=$1
echo "$filename"
if [ -f "/home/my/$filename" ];then
echo "文件存在"
else
echo "文件不存在"
fi

结果就可以了

linux shell 查询文件是否在根目录下

 

这究竟是为啥呢?我也不知道诶

唯一的预感是,还会踩很多坑。人太笨了,没办法。

————————————————————————————————————————————————————————

后知后觉似乎明白了

然而写着写着,我突然恍然大悟。我在root文件夹里的文件是这样新建的

linux shell 查询文件是否在根目录下

而我在home下新建的文件夹是通过 命令行vi 新建的。

看似都新建了文件,然而两种文件在linux下的权限是不同的,所以,第一遍行不通是因为文件权限不够。