PS1
Poolik
Sissejuhatus
Enamik meist töötab shell prompt'iga. Vaikimisi kuvavad enamik Linux'i distro'sid hostinime ja aktiivset kataloogi, kus asutakse. Prompt'i saab lihtsate vahenditega panna kuvama kasutaja jaoks olulist informatsiooni ning lisada ka veidi värvi.
Prompti kontrollitakse spetsiaalsete shell'i muutujate kaudu. Tule
Kasutamine
Jooksvate prompt'i seadete kuvamine.
$ echo $PS1
Vaikimise on väljundiks:
\u@\h:\w\$
kus \u märgib kasutajanime, \h märgib hostinime, \w märgib jooksvat töökataloogi Bash lubab prompt'i muuta sisestades kaldkriipsuga sümboleid, mis lahti selgitatuna märgivad järgnevat:
\a : prompt annab helisignaali \d : kuupäev formaadis nädalapäev-kuu-kuupäev \D{formaat} : formaat edastatakse käsule strftime ja tulemus sisestatakse prompt'i string'i, tühi märgib, et tulemus kuvatakse lokaalses aja esituses \e : ASCII katkestus sümbol \h : hostinimi esimese '.' \H : hostinimi \j : shellis hetkel jooksvate tööde nimekiri \l : shell'i terminalseadme nimi \n : uus rida \r : kursori rea algusesse viimine \s : shell'i nime kuvamine \t : hetkeaja 24-tunni tund-minut-sekund formaadis kuvamine \T : hetkeaja 12-tunni tund-minut-sekund formaadis kuvamine \@ : hetkeaja 12-tunni enne AM/PM formaadis kuvamine \A : hetkeaja 24-tunni tund-minut formaadis kuvamine \u : kasutajanimi kuvamine \v : bash'i versiooni kuvamine \V : bash'i versiooni ja patch'i kuvamine \w : jooksva töökataloogi kuvamine \W : jooksva töökataloogi kuvamine \! : antud käsu jäjekorranumbri ajaloos kuvamine \# : antud käsu käsunumbri kuvamine \$ : juhul kui UID on 0 kuvatakse #, muul juhul $ \nnn : kuvab sümboli, mis vastab kaheksandik numbrile nnn \\ : kaldkriipsu kuvamine \[ : alustab mitte-kuvatavate sümbolite vahemikku \[ : lõpetab mitte-kuvatavate sümbolite vahemiku
Näiteks muudame prompt'i nii, et see kuvab kuupäeva ja kellaja, hostinime ning jooksva kataloogi:
PS1="[\d \t \u@\h:\w ] $ "
Nüüd näeb prompt välja:
[Sun May 01 14:42:50 student@server2:~ ] $
Värvide lisamine
Värvi lisamine prompt'i string'ile toimub järgneva käsuga:
PS1="\e[x;ym $PS1 \e[m"
Kus \e[ alustab värvi muutmise käsuga, x;y märgivad kasutatavat värvipaari, $PS1 on kasutatav shell'i prompt ja \e[m lõpetab värvi muutmise käsu
Prompt'i värvi punaseks muutmiseks tuleb sisestada järgnev käsk:
PS1="\e[0;31m[\u@\h \W]$ \e[m"
Värvide tabel
0;30 : must 0;34 : sinine 0;32 : roheline 0;36 : helesinine 0;31 : punane 0;35 : lilla 0;33 : pruun
0 asendamisel 1-ga saadakse antud värvi heledam varjant tput käsklus Värvide lisamisel võib kasutada ka tput käsku. Järgnev muudab prompt'i punaseks:
PS1="\[$(tput setaf 1)\]\]\u@\h:\w $ \[$(tput sgr0)\]"
tput'i käske:
tput bold : paksus kirjas kuvamine tput rev : kuvab värvid ümberpööratult, taustavärv ja märkidevärv on vahetuses tput sgr0 : taastab algseisud tput setaf {CODE} : märkidevärvi seadmine tput setab {CODE} : taustavärvi seadmine
tput'i värvide tabel
0 : must 1 : punane 2 : roheline 3 : kollane 4 : sinine 5 : violetne 6 : helesinine 7 : valge
Muudatuste salvestamine Uued shell'i seaded on ajutised, see tähendab, et väljalogimisel seaded kaovad. Selle vältimiseks piisab seadete lisamisest.bashrc või .bash_profile faili. Avame .bashrc faili:
sudo nano .bashrc
Lisame lõppu:
export PS1='\[\e[1;32m\][\u@\h \W]\$\[\e[0m\] '
Prompt on nüüd uuel sisselogimisel rohelist värvi. Juhan Liiva A21