Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 测试文件是否存在_Linux_Bash - Fatal编程技术网

Linux 测试文件是否存在

Linux 测试文件是否存在,linux,bash,Linux,Bash,如果有文件存在,我很难理解给出的示例。 我想检查是否存在多个文件,以便执行进一步的操作 ls -al: -rwxrwxrwx 1 root tomcat 6 Dec 16 11:25 documents_2019-12-12.tar.gz echo < [ -e ./documents_2019-12-12.tar.gz ]: bash: [: No such file or directory 我需要检查给定日期的两个文件是否都可用

如果有文件存在,我很难理解给出的示例。 我想检查是否存在多个文件,以便执行进一步的操作

ls -al:  
    -rwxrwxrwx 1 root   tomcat         6 Dec 16 11:25 documents_2019-12-12.tar.gz  

echo < [ -e ./documents_2019-12-12.tar.gz ]:  
    bash: [: No such file or directory  

我需要检查给定日期的两个文件是否都可用。目录应包含几个日期的这些文件对。

您在这里对具体语法的使用有误解。命令的
[-e./documents\u 2019-12-12.tar.gz]
部分的语法特定于bash中的
if
子句。这里有一个例子

if[-e./documents_2019-12-12.tar.gz]
然后
echo“文件存在!”
fi
方括号[]用于包围由if语句执行的检查,
-e
标志特定于这些
if
检查。更多信息请点击这里


为了解释您看到的错误,这里的
是对特定语法使用位置的误解。命令的
[-e./documents\u 2019-12-12.tar.gz]
部分的语法特定于bash中的
if
子句。这里有一个例子

if[-e./documents_2019-12-12.tar.gz]
然后
echo“文件存在!”
fi
方括号[]用于包围由if语句执行的检查,
-e
标志特定于这些
if
检查。更多信息请点击这里


要解释您看到的错误,
请回答您的问题,并解释您希望使用错误的
echo
命令实现什么。你的意思是像
[-e./documents\u 2019-12-12.tar.gz]&&echo“文件存在”
?您可以组合多个检查,例如,
[-e file1]&&&&&[-e file2]&&&[-e file3]&&echo“所有文件都存在”
此外,您还可以使用以下一行代码测试可能存在的多个文件:
for i in/my/path/files.*;do test-f“$i”和&echo“存在一个或多个文件”&&break;完成
。请参阅以获取解释请回答您的问题并解释您希望使用错误的
echo
命令实现什么。你的意思是像
[-e./documents\u 2019-12-12.tar.gz]&&echo“文件存在”
?您可以组合多个检查,例如,
[-e file1]&&&&&[-e file2]&&&[-e file3]&&echo“所有文件都存在”
此外,您还可以使用以下一行代码测试可能存在的多个文件:
for i in/my/path/files.*;do test-f“$i”和&echo“存在一个或多个文件”&&break;完成
。有关说明,请参阅
database_date.sql
documents_date.tar.gz