スクリプトでエイリアスを使用しない[閉じる]

スクリプトでエイリアスを使用しない[閉じる]

.bash_profileにgrep行番号と色の一致を表示するエイリアスがあります。私の結果grepの例は次のとおりです。

$ grep test filename
1:This is a test (to be removed)
1:This is a second test (to be removed)

私のエイリアスは次のとおりです。

alias grep="grep --color"

grepスクリプトでコマンドを実行するときにこのエイリアスが使用されるのを防ぐ方法はありますか?

スクリプトで次のコマンドを試した場合:

grep test filename | sed -E 's/^(.*) \(.*$/\1/g'
\grep test filename | sed -E 's/^(.*) \(.*$/\1/g'
command grep test filename | sed -E 's/^(.*) \(.*$/\1/g'
/usr/bin/grep test filename | sed -E 's/^(.*) \(.*$/\1/g'

すべての結果は次のとおりです。

1:This is a test
1:This is a second test

次のような結果が得られるといいでしょう。

This is a test
This is a second test

私はとgrep (GNU grep) 2.21を使用していますGNU bash, version 4.3.33

答え1

使用\grep

(Bourne / POSIX)シェル仕様は、コマンドワードの文字が引用されると、対話型シェルのエイリアス置換が抑制されることを示しています。

https://stackoverflow.com/a/16506263/91769

関連情報