Komut satırı uygulamasında renk ne zaman kullanılır?


14

Şu anda C adlı bir komut satırı uygulaması varbtcwatch . -CMevcut Bitcoin'in fiyatını önceden depolanmış bir fiyatla karşılaştıran bir argüman olarak alabileceği bir seçeneği vardır -S. Bu seçenekle örnek çıktı:

$ btcwatch -vC  # -v = verbose
buy: UP $ 32.000000 USD (100.000000 -> 132.000000)
sell: UP $ 16.000000 USD (100.000000 -> 116.000000)

İkilem, UPveya DOWNdize için renk kullanıp kullanmayacağıdır (sırasıyla yeşil ve kırmızı). (Git dışında) tanıdığım çoğu komut satırı uygulaması çıktılarında renkten uzak durur. İçin arzumu btcwatch(kullanımını bakmak ve oldukça "standart" olarak getoptrenk bu durumda yersiz olmazdı eğer Makefile, vs.), emin değilim.


git çıktısında renk var mı? Henüz bunu yapan belirli komutları çalıştırmadım mı?
Izkata

Aşağıda harika yanıtlar. Ancak, renklendirmeyi her zaman kullanıcılarınızın önemsiz olmayan bir bölümünün kırmızı ve yeşil arasındaki farkı ayırt edemeyeceğini unutmayın.
Ross Patterson

Izkata: git diff,, git pullvb.
Marco Scannadinari


@marcoms Benim için renk çıktısı yok. Yine de etkinleştirmek için özel bir yapılandırma yapmadım.
Izkata

Yanıtlar:


21

Yapılacak uygun şey renklendirmeyi varsayılan yapmak, varsayılan olarak "kapalı" yapmak ve komut satırı bayrağıyla kontrol etmektir. Bu şekilde, beğenmeyen veya terminali desteklemeyen insanlar etkilenmez, sevenler ve gerçekten beğenen insanlar seçeneği önceden tanımlamak için bir takma ad veya kısayol tanımlayabilir. Herkes mutlu.


5
Bu, işlevselliğidir ls( ls --coloraçmak için seçenek gereklidir).

@MichaelT: Gerçekten mi? Sanırım kullandığınız dağılıma bağlı. Çıktı (neredeyse) her zaman renklidir ve asla belirtmem --color.
FrustratedWithFormsDesigner

1
@FrustratedWithFormsDesigner BSD aroması. /bin/lsdüz, /bin/ls -Grenklidir (ortamda CLICOLOR tanımlıysa, bu seçenek varsayılan olarak etkindir). Gelen gnu dağılımları etkilemiş , biri görür --colorve ilişkili çevre değişkenleri.

1
"Renk zorunlu olmalı ya da olmamalı", "uygun olduğunda" için daha az cevap :) :)
Michael Durrant

3
@FrustratedWithFormsDesigner Ububu'da, örneğin, alias ls='ls --color=auto'varsayılan olarak gelir .bashrc(veya artık değilse, 8.04 civarında bir yerde yaptı ya da bir yıl aldı ve
.bashrc'imi

9

Aşağıdaki durumlarda renk kullanmayı uygun görürdüm:

  • Öğelerin 'grupları' vardır ve renk grupları öğeleri görsel olarak gruplamaya yardımcı olur.

  • 'Label: value' alanlarının kümesi (kümeleri) vardır ve etiketlerin (veya değerlerin) göze çarpmasını istersiniz.

  • Kırmızı / yeşil renkte gösterilmesinden fayda sağlayacak öğeler vardır, örneğin dur / kalk, iyi / kötü, vb.

  • Bilgilerin çoğu arka planlıdır, ancak bir anahtar öğe öne çıkmalıdır.


5

Dikkate alınması gereken bir diğer önemli faktör, platforma bağlı olarak renklendirmenin karakter kaçış dizileri ekleyebilmesidir. Bu platformlardaki derlemeler için, Geçerli / varsayılan mod renk çıktısı yapacaksa, program çıktısının bir PIPE olup olmadığını ve bu durumda sıyırma rengini algılamak gelenekseldir.

Bu, renk kaçış dizilerinin çıktısını okuyan aşağı akış programlarını atmamasıdır.


iyi bir nokta, bir --colour(veya --no-colour) seçeneği uygulamak gibi programlar için daha kolay olacağını varsayalım
Marco Scannadinari
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.