решение1
Когда вы работаете grep
в терминале, он показывает цвета из-за этого псевдонима по умолчанию в вашем~/.bashrc
alias grep='grep --color=auto'
~/.bashrc
только интерактивными оболочками. Когда вы запускаете скрипт, он выполняется в неинтерактивной оболочке, поэтому псевдоним недоступен.
Чтобы сохранить окраску, добавьте --color=auto
флаг к grep
команде внутри скрипта:
grep $1 . -R --exclude-dir=.git --line-number --color=auto