9 我对此感到偏执,但希望这是一个简单的问题: 之间有什么区别 cat file1 | egrep -oP "[Mm]y string" > /home/user/file.txt 和 cat file1|egrep -oP "[Mm]y string">/home/user/file.txt 即,是否有空格填充竖线(|)和重定向(>)字符有关系吗?我真的很偏执,如果我不想要空格,空格会以某种方式最终出现在输出文件中。谁能澄清?(如果重要,请使用Ubuntu 12 / bash。) shell command-line shell-script — 马格努斯 source 唯一的区别是a)装饰性和b)在bash中编辑命令行时的便利性-例如,“单词”由空格分隔,因此,如果没有空格|或>键入Ctrl-W删除前一个“单词”的空格,则删除的内容可能超出您的预期。同上,用于光标移动键击等Esc-f和Esc-b等 — CAS
8 在shell命令行中,未引用的空格仅用于在命令解析期间定界单词。它们不会传递,无论是在命令看到的参数还是在标准输入流中都不会传递它们。 — jw013 source 您确定在操作员后面使用空格没有安全漏洞吗?我现在很难复制它,但是有一个普遍的利用方式,即当目标文件为“ fileName”时,恶意用户可以通过使用“ fileName”这样的文件来更改目标操作。 — CrippledTable
|
或>
键入Ctrl-W
删除前一个“单词”的空格,则删除的内容可能超出您的预期。同上,用于光标移动键击等Esc-f
和Esc-b
等