该程序应该找到一个文件并返回它是否存在于系统上,现在我发现应该使用find命令,但由于这个命令将由代码启动(使用System)我需要保存结果在文件中,并尝试在终端上,我无法让它工作,结果没有出现在文件中,我正在尝试:
find / -name 'test2abc' 2>/dev/null -> res
文件res为空。怎么做对了?
还有一种更好的方法,如果文件存在,我应该使用stat命令打印文件的详细信息。有没有办法使用juts stat命令来搜索子文件夹中的文件?
答案 0 :(得分:4)
-> res
部分应仅为> res
。
如果您在命令行上尝试这样的命令:
find / -name 'test2abc' -> res
会打印错误:
find: paths must precede expression: -
-
不是任何有效重定向的一部分,因此被赋予find
也无法解释它。
禁止错误消息可能是明智之举。一种简单的方法是将stderr和stdout重定向到文件,如下所示:
find / -name 'test2abc' > res 2>&1
然后关于-
的错误就会从一开始就存在于文件中,您可能会非常快地知道错误。