OS X Terminal komutlarını yap BOLD yazıyorum


11

Terminalin içine yazdığım (girdi) komutları tüm çıkışlardan öne çıkarmak istiyorum.

Örneğin:

imac: ~ buster $ chmod -R gw myfolder
imac: ~ buster $ cd myfolder
imac: myfolder buster $ ls -l
toplam 0
drwxr-xr-x 9 kök yönetici 306 Nisan 20 2010 bin
drwxr-xr-x 7 kök yönetici 238 Nis 20 2010
drwxr-xr-x 73 root admin 2482 Mayıs 18 17:16 lib
drwxr-xr-x 6 root admin 204 Nisan 20 2010 man
imac: myfolder buster $ echo Go Giants!
Devler!

cesur akla atlar, ancak bir rengi kabul edebilirim, hatta tüm çizgiyi vurgulayabilirim

Eminim bunu yapmanın bir yolu var ama benim için belli değil ...

Teşekkürler!

Yanıtlar:


9

Düzenleme senin ~/.bash_profileveya ~/.bashrc(aşağıda Gilles' yorumunu bakınız) ve aşağıdaki satırları ekleyin:

BOLD="\[\033[1m\]"
OFF="\[\033[m\]"
PS1="${OFF}\u@\h:\w \$${BOLD}"
PS2="> ${BOLD}"
trap 'echo -ne "${OFF}" > $(tty)' DEBUG

İstemin bir ${BOLD}kısmını da kalın yapmak için etrafta hareket edin . Komut isteminin kendisi renkli değilse, ${OFF}öneki girmeniz gerekir PS1, aksi takdirde boş satırlar (yazılı bir şey olmadan enter tuşuna basmak) aşağıdaki istemi kalınlaştırır (@Jay'a verilen krediler, tekrar teşekkürler!)

Bu, kalın biçimi kapatmak için bir hata ayıklama tuzağı ekler, bu yüzden oldukça hack'tir. Krediler (OS X'te grup tty olmadan çalışır).

Bu biraz hack, bu yüzden kendi sorumluluğunuzda kullanın.

Yalnızca PS1/ PS2istemlerinizi kalın olarak ayarlamak daha kolay ve görünür olduğu gibi olacaktır:

BOLD="\[\033[1m\]"
OFF="\[\033[m\]"
PS1="${BOLD}\u@\h:\w \$${OFF}"
PS2="${BOLD}>${OFF} "

1
Değil ~/.bash_profile, ama ~/.bashrc(ya da her ikisi, eğer yapmazsan kaynak .bashrcitibaren .bash_profile). Bu ayarların her etkileşimli bash örneği için ayarlanması gerekir ve .bash_profileyalnızca giriş kabukları tarafından okunur.
Gilles 'SO- kötü olmayı bırak'

Teşekkürler, cevabımı düzenleyeceğim. Bende yok bashrc, o yüzden orada olanı kullandım.
Daniel Beck

2
Anladım, öne $ {OFF} koy: PS1 = "$ {OFF} \ u @ \ h: \ w \ $$ {BOLD}"
Jay

1
@Daniel: İçinde bir alt çizgi olmamalıdır ~/.bashrc.
sonraki duyuruya kadar duraklatıldı.

1
Yukarı okunu üst üste dört kez kullanırsam, komut geçmişinden geçmek için, eski komutun ilk 3 karakteri istemin bir parçası olur ve bunları kaldırmanın bir yolu yoktur. Geri tuşu ile silemiyorum.
Jay

2

El Capitan'ı kullanırken (burada iTerm2'de ama düz eski Terminalde de) burada çözümlerle ilgili biraz sorun yaşadım. İki tür hatayla karşılaştım:

  1. Bash istemimi tamamen boşluk tuşuna ve geri tuşuna basarak silme yeteneği
  2. Girişi örneğin benim bash çıkışı içine kendi yolunu bulma İstenmeyen karakterler, pwdneden olacaktır

    \[\]/Users/home/Directory

    veya içinde

    \e[0m/Users/home/Directory

Gerçekten aynı olan aşağıdaki çözümü öneriyorum.

    BOLD="\033[1m"
    OFF="\033[m"
    PS1="${OFF}\u@\h :${BOLD}"
    PS2="> ${BOLD}"
    trap 'echo -ne "${OFF}" > $(tty)' DEBUG

İyi iş! Sadece birkaç küçük fark var, ama bunun El Captain ile çalışmasının bir yolunu keşfettiğiniz için mutluyum.
DrZoo
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.