Ваша команда grep использует --color=auto:
$ alias grep
alias grep='grep --color=auto'
Таким образом, вы все еще можете получить цвет, добавив этот блок в свой grep:
grep --color=auto -r [^a-zA-Z0-9]$1[^a-zA-Z0-9] -in JS_files/
     ^^^^^^^^^^^^
  также мой grep по умолчанию игнорирует регистр, как я могу заставить регистр чувствительность?
Это означает, что ваш grep использует -i:
 -i, --ignore-case
  
  Игнорируйте различия регистра как в PATTERN, так и во входных файлах. (-i определяется POSIX.)
У вас есть два варианта:
1) Попробуйте использовать grep по умолчанию с \grep . Он будет обходить любой псевдоним (см. \ Curl… | bash… для чего нужен слеш? для получения дополнительной информации):
\grep --color=auto -r [^a-zA-Z0-9]$1[^a-zA-Z0-9] -in JS_files/
2) Измените определение grep в вашем ~/.bashrc на желаемое . К настоящему времени это будет что-то вроде:
alias grep="grep --color=auto -i"