检查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]
。仅为此操作同时运行ls和grep是一种过分的操作。test-f[filename]
是一种方法。只为这个操作运行ls和grep太过分了。我知道你提到的第二种方法是在Linux基金会的入门课程中建议的。此方法将测试该名称是否存在,以及它是否为文件。Grep将简单地告诉您它是否找到了该字符串。我知道您提到的第二种方法在Linux基金会的入门课程中得到了建议。此方法将测试该名称是否存在,以及它是否为文件。Grep将简单地告诉您是否找到了该字符串。如果您创建了该文件,那么就是您创建了该文件。没有必要检查它是否“实际创建”。它就在那里。更确切地说,我想你用“touch FILENAME”创建了这个文件。只需检查该命令的返回代码,不要解析ls
,ref如果您创建了该文件,则是您创建了该文件。没有必要检查它是否“实际创建”。它就在那里。更确切地说,我想你用“touch FILENAME”创建了这个文件。只需检查该命令的返回代码。不要解析ls
,ref不仅是一个过度杀戮,而且如果文件名是现有文件名(较长)的一部分,可能会导致误报。如果文件名包含换行符,则可能会导致误报。如果文件名是现有文件名(较长)的一部分,不仅会导致过度杀戮,还会导致误报现有文件的名称。如果文件名包含换行符,则为假阴性。