私の現在の解決策は、エイリアスを使用して、スマート オプションの使用をインタラクティブな入力 (他の人のスクリプトではなく) に制限することです。これは、私の bash_aliases からの grep 関連のスニペットです。
SMART_GREP_OPTIONS=
# Ensure colors are supported.
if [ -x /usr/bin/dircolors ]; then
SMART_GREP_OPTIONS=' --color=auto'
fi
# Make grep more like ack.
# Ignore binary files.
SMART_GREP_OPTIONS="$SMART_GREP_OPTIONS --binary-files=without-match"
# Check for exclude-dir to prevent invalid options in older versions of grep.
# Assume if we have exclude-dir, that we have exclude.
if /bin/grep --help | /bin/grep -- --exclude-dir &>/dev/null; then
# Ignore version control folders.
for PATTERN in .cvs .git .hg .svn; do
SMART_GREP_OPTIONS="$SMART_GREP_OPTIONS --exclude-dir=$PATTERN"
done
# Ignore temp files.
for PATTERN in *.swp; do
SMART_GREP_OPTIONS="$SMART_GREP_OPTIONS --exclude=$PATTERN"
done
fi
# This alias may override ghostscript. That's not a problem for me.
alias gs='grep $SMART_GREP_OPTIONS'
ほとんどの grep は vim から行い、vim-searchsavvyを使用して同様のオプションを設定します (vim のエイリアスは使用しません)。