web-dev-qa-db-ja.com

grep-grepパターンの角かっこがpsの結果からgrepプロセスを削除するのはなぜですか?

grepパターンの角かっこがpsの結果からgrepプロセスを削除するのはなぜですか?

$ ps -ef | grep XXXX

[...] XXXX
[...] grep XXXX


$ ps -ef | grep [X]XXX

[...] XXXX
12
Luis da Costa

ps -ef | grep stringを実行すると、string[...] grep stringと一致するため、grepが出力に表示されます。

ただし、ps -ef | grep [s]tringを実行すると、grepは[s]tringstringに変換し、psは[...] grep [s]tringを出力し、それはstringと一致しないため、行は表示されません。

20
Stefan

角かっこはエスケープする必要があるため、bashの場合とgrepの場合:

$ ps -ef | grep \\[X\\]XXX

[...] XXXX
[...] grep XXXX


$ ps -ef | grep "\[X\]XXX"

[...] XXXX
[...] grep XXXX
2
Fabian Deutsch