変数全体をエスケープする方法は?

変数全体をエスケープする方法は?

この質問に対する回答中:

https://superuser.com/questions/163515/bash-how-to-pass-command-line-arguments- Contains-special-characters

パラメータ全体をエスケープするには、関数のパラメータを二重引用符で囲む必要があります"[abc]_[x|y]"

ただし、特殊文字が"()の先頭にある場合は、"[abc]_[x|y]"次のことはできません。

program  ""[abc]_[x|y]"  anotheragument

"この状況でどのように脱出できますか?

ベストアンサー1

私が正しく理解したら、変数に正規表現パターンがあり、grep正規表現メタ文字に特別な意味を持たずにそれを使用したいと思います。この場合-F(固定文字列)オプションがgrep必要です。

grep -F "$var" your_file

システムにfgrep上記の()と同じ特殊コマンドがあるかもしれません。

fgrep "$var" your_file

おすすめ記事