ubuntu终端命令行中这两个命令有什么区别?
find . -name "*.txt"
find . -name *.txt
答案 0 :(得分:1)
这取决于您使用的shell和目录的内容。
如果由于某种原因您不幸使用csh(或其某些遗产,如zsh),当您的目录中没有与该模式匹配的文件时,它将拒绝执行此操作(除非您已转为那种行为。)
如果存在与模式匹配的文件,则命令将由shell扩展:
find . -name foo.txt bar.txt baz.txt
和find
将报告语法错误。除非有一个匹配的文件,否则你得到:
find . -name foo.txt
然后只能在子目录中找到名为“foo.txt”的文件。
只有当你使用理智的shell 和时,当前目录中没有匹配的文件,这两个命令才是相同的。
道德:不要这样做。始终使用引号。