特殊文字を含むenv変数でgrepコマンドを使用すると問題が発生する

特殊文字を含むenv変数でgrepコマンドを使用すると問題が発生する

ksh私のUnixアカウント()に「xyz *!@#」値を持つ「abc」変数があります。exportこの変数を環境にエクスポートするコマンドを使用します。grep以下のコマンドを使用する場合

env |grep xyz

私は出力を得る

abc=xyz*!@#

ただし、次のコマンドを使用すると

env | grep xyz*!

期待どおりに出力が出ません。

abc=xyz*!@#

実際にはまったく出力が得られません。

ベストアンサー1

*正規表現では特別な意味を持つので、エスケープしてください。

env | grep 'xyz\*!'

または、-Fオプションを使用して、引数をgrep正規表現ではなくプレーンテキストとして扱うように指示します。

env | grep -F 'xyz*!'

おすすめ記事