zsh cinsinden kullanıcıya veya köke bağlı olarak komut istemi rengini değiştirme


13

zsh içinde bir olabilir %#sizin de PS1(ya da her türlü PROMPTdeğişken) temelde görüntüleme anlamına gelir %eğer kullanıcı veya ekran #eğer root. Böylece bu etkileme herhangi bir yolu olup olmadığını merak ediyorum %ya #da kullanıcı veya kök (Bir kullanıcı için mavi, kök için kırmızı) açık yolu sadece değiştirmektir var olmasına bağlı olarak renk değiştirdiğini PS1benim kök en ~/.zshrcancak dikkate Bu zaten özel bir semboldür, belki de PS1her ikisini de aynı şekilde kullanabileceğim bir yol olup olmadığını merak ediyorum ... %#zsh için olduğu gibi özel bir şey (eminim ben de yapabileceğim başka kesmek var if if then ifadesi).

Yanıtlar:


8

%(!.%{\e[1;31m%}%m%{\e[0m%}.%{\e[0;33m%}%m%{\e[0m%})

Yani gerektiğini sunucu adını (değiştirmeye çalışmak %mkök varsa) (kırmızı) farklı bir renk. Test etmek için bir zsh kabuğum yok ama doğru görünüyor.

İşte nedeni:

%(x.true.false):: Üçlünün ilk döneminin değerlendirmesine dayanarak, doğru ifadeyi yürütün. '!' kabuk ayrıcalıklıysa doğrudur. Aslında %#için bir kısayoldur %(!.#.%).

%{\e[1;31m%} %m %{\e[0m%}:: %{\e[X;Ym%}Biçimlendirme (kalın, altı çizili vb.) olarak X ve renk kodu olarak Y olan renk kaçış dizisidir. Rengi değiştirmek istediğiniz terimin çevresindeki diziyi açmanız ve kapatmanız gerektiğini unutmayın, aksi takdirde o noktadan sonraki her şey hangi renk olursa olsun. Burada %mnetlik için kısa vadede boşluklar ekledim .

http://www.nparikh.org/unix/prompt.php , renk tabloları ve zsh için mevcut diğer seçenekler hakkında daha fazla seçenek ve ayrıntı içerir.


6
autoload colors
colors
PS1="%~ %{%(#~$fg[red]~$fg[blue])%}%#%{$fg[default]%} "

%(#kabuğun kök olarak çalışıp çalışmadığını test eder. Bunu %(!, kabuğun yükseltilmiş ayrıcalıklarla çalışıp çalışmadığını sınamak için ( newgrpkök gibi oturum açmayan ancak bu gibi şeyleri kapsamaz).

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.