我想知道这两个命令有什么区别:
答案 0 :(得分:0)
首先关闭 - “;”是shell上的命令分隔符。所以上面会顺序执行两个不同的命令。
这样就有三个不同的命令:
$ ls l file
此命令将尝试列出两个文件,即“l”和“file”。如果文件名存在,它将显示文件名,否则显示错误。
$ grep *pl file
这比较棘手。它将尝试首先用当前目录的内容替换*。无论它扩展的方式如何,它都会将pl附加到它并尝试在文件中grep整个shell扩展模式。输出完全取决于当前目录的内容。
$ grep ".*pl" file
这将在文件中执行模式“。* pl”的贪婪匹配。这意味着它将匹配文件中具有模式的所有行:后跟“pl”
亲自尝试一下,你会明白发生了什么。