Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.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-p|grep[filename] 然后,我查看我试图创建的文件是否在grep列表中 但他们建议我使用 test-f[文件名] 相反 检查Linux中是否存在文件的正确方法是什么?test-f[filename]。仅为此操作同时运行ls和grep是一种过分的操作。test-f[filename]是一种方法。只为这个操作运行ls和grep太过分了。我知道你

我一直在我的剧本中使用这个,我的同事不同意我的观点

我的脚本接受一个文件作为参数并创建该文件。然后我使用下面的代码来查看它是否真的被创建了

ls-p|grep[filename]

然后,我查看我试图创建的文件是否在grep列表中

但他们建议我使用


test-f[文件名]

相反


检查Linux中是否存在文件的正确方法是什么?

test-f[filename]
。仅为此操作同时运行lsgrep是一种过分的操作。

test-f[filename]
是一种方法。只为这个操作运行lsgrep太过分了。

我知道你提到的第二种方法是在Linux基金会的入门课程中建议的。此方法将测试该名称是否存在,以及它是否为文件。Grep将简单地告诉您它是否找到了该字符串。

我知道您提到的第二种方法在Linux基金会的入门课程中得到了建议。此方法将测试该名称是否存在,以及它是否为文件。Grep将简单地告诉您是否找到了该字符串。

如果您创建了该文件,那么就是您创建了该文件。没有必要检查它是否“实际创建”。它就在那里。更确切地说,我想你用“touch FILENAME”创建了这个文件。只需检查该命令的返回代码,不要解析
ls
,ref如果您创建了该文件,则是您创建了该文件。没有必要检查它是否“实际创建”。它就在那里。更确切地说,我想你用“touch FILENAME”创建了这个文件。只需检查该命令的返回代码。不要解析
ls
,ref不仅是一个过度杀戮,而且如果文件名是现有文件名(较长)的一部分,可能会导致误报。如果文件名包含换行符,则可能会导致误报。如果文件名是现有文件名(较长)的一部分,不仅会导致过度杀戮,还会导致误报现有文件的名称。如果文件名包含换行符,则为假阴性。