在bash中使用grep时两个关键字之间的区别?

时间:2019-01-10 08:24:29

标签: bash shell unix shellcode

这些命令之间的输出区别是什么?

ps -ef | grep  \[t\]tyS1

ps -ef | grep ttyS1

预期结果是,前一个将对[t]tyS1执行grep,但实际上并没有发生。

1 个答案:

答案 0 :(得分:-2)

这两个命令都查找相同的单词:ttyS1,因为放置在方括号中的“可选字母”仅包含“ t”。 如果要搜索字符串:[t] tyS1,则应将正则表达式放在引号(“或')之间,以避免shell替换,但是我不确定这是否是您的目的。

ps -ef | grep  "\[t\]tyS1"

如果要搜索ttyS1或ptyS1,则命令为:

ps -ef | grep '[pt]ty'

希望这对您有所帮助。