Senin nerede bulun PS1
Gözlerinde farklı ayarlanır .bashrc
ve insert '\[\e[1m\]'
başında ve \[\e[0m\]
sonunda.
\[
ve \]
böylece kabuk, iç kısımdaki karmaşanın ekranda 0 boşluk kapladığını bilir, bu da çizgi düzenleme yaparken bazı berbat davranışları önler. Bunun için fazla endişelenmene gerek yok.
\e[
CSI (kontrol sırası tanıtıcısı) olarak bilinir. Başvurulan Wikipedia sayfasında listelenen kodların çoğunda kullanıldığını göreceksiniz. \e
kaçış karakteri anlamına gelir.
- Vikipedi sayfasındaki SGR tablosuna bakarsanız, 1'in parlak / kalın metin sayısı ve 0'ın sıfırlanması olduğunu göreceksiniz. Böylece
CSI 1m
kalınlaşır ve CSI 0m
yazı tipini sıfırlar, böylece metnin geri kalanı normal olur.
Wikipedia, terminal emülatörünüz destekliyorsa kullanabileceğiniz ANSI çıkış kodlarının tam listesine sahiptir .
Düzenle
Taşınabilirlik ve okunabilirlik tput
için sabit kodlama çıkış kodları yerine kullanmanız gerekir . Tek dezavantajı, tput
yaklaşımın ANSI kodlarını destekleyen ancak kırılmış ya da eksik terminfo veritabanlarına sahip olan terminallerle çalışmadığıdır, ancak bu durumda bozuk terminfo, terminfoya dayanan pek çok konsol uygulamanızın düzgün çalışamayacağından daha büyük bir sorundur.
İşte benim içinde ne yaptığımın bir örneği .bashrc
:
# color names for readibility
reset=$(tput sgr0)
bold=$(tput bold)
black=$(tput setaf 0)
red=$(tput setaf 1)
green=$(tput setaf 2)
yellow=$(tput setaf 3)
blue=$(tput setaf 4)
magenta=$(tput setaf 5)
cyan=$(tput setaf 6)
white=$(tput setaf 7)
user_color=$green
[ "$UID" -eq 0 ] && { user_color=$red; }
PS1="\[$reset\][\[$cyan\]\A\[$reset\]]\[$user_color\]\u@\h(\l)\
\[$white\]:\[$blue\]\W\[$reset\][\[$yellow\]\$?\[$reset\]]\[$white\]\
\\$\[$reset\] "
İşte benim genelleşmiş bir versiyonunun nasıl göründüğü. 0
Son komutun çıkış durumudur.