2012-05-19 196 views
3

因此,我试图检查一个文件是否存在,然后该脚本应该做一些事情,如果是的话。我遇到的问题实际上是让它认识到事实确实存在。检查文件是否存在Linux bash

if [ -e /temp/file.txt ]; then 
     echo "file found!" 
     sudo cp -r temp/* extra 
else 
     echo "file not found! Creating new one..." 
     ./create.sh 
fi 

下面是我正在测试的目录中的文件的示例。他们显然存在,但由于某种原因,我无法看到脚本。我究竟做错了什么?

[email protected]:/docs/text$ ls -a temp 
. .. more file.txt file2.txt 

回答

11

您正在使用,而你应该使用相对路径测试中的绝对路径:

if [ -e ./temp/file.txt ]; then 
+0

看来我是没有正确拼写的目录。 thx无论如何帮助:P – Painguy

2

/temp/file.txt VS /docs/text/temp/file.txt

1

你的脚本看起来/temp,而你正在寻找在/docs/text/temp