Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: SuperOscar - 14.08.08 - klo:18.28
-
Näinkin tyhmiä sitä ajattelee aikansa kuluksi:
Olisiko mahdollista saada komentokehote erottumaan värillään muusta konsolin tekstistä?
Lihavoinnit yms. tiedän (%B...%b jne., vai menikö se toisinpäin), mutta pääte-emulaattorin ikkunassa niiden erottuvuus on huono. Ilmeisesti pitäisi saada aikaiseksi jotain VT100-komentosarjoja, mutta... eeh...?
-
Vastaan taas itselleni :)
Bashissa homma sujuisi näin (turkoosi kehote, joka erottuu aika hyvin):
export PS1="\e[36;40m\u@\h [\w]$\e[0m "
...mutta harmikseni käyttämässäni Zsh:ssa \e ei toimikaan. Täytyy jatkaa harjoituksia.
-
Olisiko mahdollista saada komentokehote erottumaan värillään muusta konsolin tekstistä?
On mahdollista ja minusta jopa hyödyllistä. Vaikkapa cat tulosteita vierittämällä selatessa näkee heti, miltä riviltä tuloste alkaa.
Internets sisältää tähänkin ohjeet paremmat ohjeet kuin voin ikinä muistaa, mutta laitanpa malliksi kuinka saadaan keltainen prompti.
...
Hmm... vai toiminta on erilaista eri shelleissä.
Tässä kuitenkin relevantti rivi .bashrc:stä
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;33m\]\u@\h\[\033[01;33m\]:\[\033[01;33m\]\w\[\033[01;33m\]\[\033[00m\]$ '
-
Hmm... vai toiminta on erilaista eri shelleissä.
Joo, valitettavasti TODELLA erilaista. Zsh:llekin löytyy ohjeen tapaisia guuglaamalla, mutta vietävän mutkikkaita. Tässä esimerkki:
With these lines you get variables for each color:
autoload colors zsh/terminfo
if [[ "$terminfo[colors]" -ge 8 ]]; then
colors
fi
for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do
eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}'
eval PR_LIGHT_$color='%{$fg[${(L)color}]%}'
(( count = $count + 1 ))
done
PR_NO_COLOR="%{$terminfo[sgr0]%}"
So for example with PR_GREEN you get a nice green color.
(Lähde: http://blogs.noname-ev.de/commandline-tools/archives/6-Pimping-zsh-prompt-with-colors.html)
Totta kyllä, tuon jälkeen esim. PROMPT=$PR_YELLOW vaihtaa komentokehotteen (sekä siihen kirjoitettavan tekstin, mitä en halua) värin keltaiseksi, mutta kehote itsessään on tyhjä. Ääh.
-
Okei, tämmöinen kammotus tungettuna .zshrc:hen toimii (mutta ei kehotteesta kokeiltuna ilmeisesti ”escapejen” takia):
### COLORS ###
fg_green=$'%{\e[0;32m%}'
fg_blue=$'%{\e[0;34m%}'
fg_cyan=$'%{\e[0;36m%}'
fg_red=$'%{\e[0;31m%}'
fg_brown=$'%{\e[0;33m%}'
fg_purple=$'%{\e[0;35m%}'
fg_light_gray=$'%{\e[0;37m%}'
fg_dark_gray=$'%{\e[1;30m%}'
fg_light_blue=$'%{\e[1;34m%}'
fg_light_green=$'%{\e[1;32m%}'
fg_light_cyan=$'%{\e[1;36m%}'
fg_light_red=$'%{\e[1;31m%}'
fg_light_purple=$'%{\e[1;35m%}'
fg_no_colour=$'%{\e[0m%}'
fg_white=$'%{\e[1;37m%}'
fg_black=$'%{\e[0;30m%}'
### PROMPT ###
PS1="${fg_light_cyan}%n@%m [%3~]% "
Tuosta uskaltaa tietysti jättää kaikki itselleen turhat värit ennen pitkää määrittelemättä :) mutta muuten ei parane enempi koskea. Lähde: bsdforums.org (http://www.bsdforums.org/forums/archive/index.php/t-18503.html).
Tässäkin versiossa myös kehotteeseen kirjoitettava teksti on kehotteen väriä, mutta... olkoon.
-
Ja vielä yksi postaus...
Turvallisempi versio, joka nollaa värimuutokset kehotteen lopuksi:
PS1="${fg_light_green}%n@%m [%3~]\$${fg_no_colour} "