Mac OS X'in terminalinde renkle nasıl baş edebilirim?


39

Geçenlerde Mac OS XI’de bunu kabuğuma ayarlayabildiğini gördüm, ~/.profileböylece kullandığımda grepeşleşmeleri renkli (beyaz bir kırmızı) basacaktı.

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

Ancak bir takma ad oluşturmak, bunu yapmak için bir tür hack yolu gibi görünüyor. Daha önce şanssızlıkla denemiştim:

export GREP_COLOR=always           # works fine in Linux

Ve sonra da denedim:

export GREP_COLOR="1;37;41"

Bunu yapmanın takma ad oluşturmaktan daha iyi bir yolu var mı?


Sorunuzun amacını anlamıyorum. Takma ad, bunu nasıl yaptığınızdır. Bunun için var. exportortam değişkeni örneğin içinde .bash_profileve tanımlanır alias grep='grep --color've bitirdiniz.
Daniel Beck

Yanıtlar:


60

Başına mac Grep_color @lupincho önerdiği gibi, bu çalışma cezası gibi görünüyor ve bir takma ad kullanmaz:

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

13
Bunun için iyi bir çözüm olarak + 1'leyin, ancak GREP_OPTIONS ayarı yapılması yol açar grep: warning: GREP_OPTIONS is deprecated; please use an alias or script. Böyle bir şey şimdi tercih edilir:alias grep="`which grep` --color=always"
joelittlejohn

2
@joelittlejohn grep'i xargs olan borularda kullanırken çalışmaz, örneğin:find /usr/share -name '*.txt' |xargs grep testing
rfabbri

1
@ rfabbri Sanırım bu itirazda bulunan grep ekibine katılacak biri :)
joelittlejohn

3
--color=alwaystehlikeli. Kabuktan çalışan komut dosyaları da seçeneği devralacak ve grep komut dosyalarının içine çıkacak renk kodları enjekte etmeye başladığında çok gizemli hatalara neden olacaktır. --color=autobu soruna neden olmaz.
Sampo

1
@ joelittlejohn, OSX’teki varsayılan grep için doğru değildir. High Sierra 10.13'te bile, GREP_OPTIONS'ı değer kaybetmemiş olan FREEBSD grep 2.5.1 kullanıyor. Bu sadece gnu / grep için geçerlidir
cde
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.