PS1

From ICO wiki
Revision as of 18:23, 1 May 2011 by Jliiva (talk | contribs)
Jump to navigationJump to search

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
bootcfg /ems on /port com1 /baud 9600 /id 1

Juhan Liiva A21