Як я можу зіткнутися з кольором у терміналі Mac OS X?


39

Нещодавно я виявив, що на Mac OS XI можна налаштувати це у своїй оболонці, ~/.profileщоб при використанні grepвін друкував відповідність кольором (білий червоний).

alias grep='GREP_COLOR="1;37;41" LANG=C grep --color=auto'

Але налаштування псевдоніма виглядає як певний спосіб зламати це. Раніше я намагався не щастить:

export GREP_COLOR=always           # works fine in Linux

А потім я також спробував:

export GREP_COLOR="1;37;41"

Чи є кращий спосіб зробити це, ніж створити псевдонім?


Я не бачу сенсу у вашому питанні. Псевдонім - це, як ви це робите. Ось для чого це. exportзмінна середовище, наприклад, в .bash_profile, і визначте alias grep='grep --color', і ви закінчили.
Даніель Бек

Відповіді:


60

За Grep_color на mac, як запропонував @lupincho, це, здається, працює добре і не використовує псевдонім:

export GREP_OPTIONS='--color=always'
export GREP_COLOR='1;35;40'

13
Отримайте +1 для цього як хорошого рішення, однак налаштування GREP_OPTIONS призводить до grep: warning: GREP_OPTIONS is deprecated; please use an alias or script. Щось подібне зараз віддається alias grep="`which grep` --color=always"
перевазі

2
@joelittlejohn не працює при використанні грепу в трубах з xargs, наприклад:find /usr/share -name '*.txt' |xargs grep testing
rfabbri

1
@rfabbri Я вважаю, що це потрібно взяти участь у команді
грепп, яка втратила

3
--color=alwaysнебезпечно. Сценарії, запущені з оболонки, також успадкують параметр і спричинить дуже таємничі збої, коли grep почне вводити кольорові коди для виведення всередині скриптів. --color=autoне викликає цієї проблеми.
Сампо

1
@joelittlejohn, що не відповідає дійсності grep за замовчуванням в OSX. Навіть на High Sierra 10.13 він використовує FREEBSD grep 2.5.1, який НЕ знецінився GREP_OPTIONS. Це справедливо лише у gnu / grep
cde
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.