PS1: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Jliiva (talk | contribs)
No edit summary
Jliiva (talk | contribs)
No edit summary
Line 1: Line 1:
Poolik
Poolik
== Sissejuhatus ==
== Tutvustus ==
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.
Enamik meist töötab shell prompt'iga. Vaikimisi kuvavad enamik Linux'i distro'sid hostinime ja jooksvat töö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
Prompti kontrollitakse spetsiaalsete shell'i muutujate kaudu. Tule
Line 7: Line 7:
== Kasutamine ==
== Kasutamine ==


Jooksvate prompt'i seadete kuvamine.
Jooksvate prompt'i seadete kuvamine:
<pre>$ echo $PS1</pre>
<pre>$ echo $PS1</pre>
Vaikimise on väljundiks:
Vaikimise on väljundiks:
<pre>\u@\h:\w\$</pre>
<pre>\u@\h:\w\$</pre>
kus \u märgib kasutajanime, \h märgib hostinime, \w märgib jooksvat töökataloogi
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:
 
Bash lubab prompt'i string'e muuta sisestades kaldkriipsuga sümboleid, mis lahti selgitatuna märgivad järgnevat:
<pre>\a : prompt annab helisignaali
<pre>\a : prompt annab helisignaali
\d : kuupäev formaadis nädalapäev-kuu-kuupäev
\d : kuupäeva kuvamine 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
\D{formaat} : formaat edastatakse käsule strftime ja tulemus sisestatakse prompt'i string'i, formaadi tühjaks jätmine märgib, et tulemus kuvatakse lokaalses aja esituses
\e : ASCII katkestus sümbol
\e : ASCII kooditabeli katkestussümboli sisestamine
\h : hostinimi esimese '.'
\h : hostinimi esimese '.'
\H : hostinimi
\H : hostinimi
\j : shellis hetkel jooksvate tööde nimekiri
\j : shellis hetkel jooksvate tööde nimekirja kuvamine
\l : shell'i terminalseadme nimi
\l : shell'i terminalseadme nime kuvamine
\n : uus rida
\n : uue rea sisestamine
\r : kursori rea algusesse viimine
\r : kursori rea algusesse viimine
\s : shell'i nime kuvamine
\s : shell'i nime kuvamine
\t : hetkeaja 24-tunni tund-minut-sekund formaadis kuvamine
\t : hetkeaja 24-tunni tund-minut-sekund formaadis kuvamine
\T : hetkeaja 12-tunni tund-minut-sekund formaadis kuvamine
\T : hetkeaja 12-tunni tund-minut-sekund formaadis kuvamine
\@ : hetkeaja 12-tunni enne AM/PM formaadis kuvamine
\@ : hetkeaja 12-tunni AM/PM formaadis kuvamine
\A : hetkeaja 24-tunni tund-minut formaadis kuvamine
\A : hetkeaja 24-tunni tund-minut formaadis kuvamine
\u : kasutajanimi kuvamine
\u : kasutajanimi kuvamine
\v : bash'i versiooni kuvamine
\v : bash'i versiooni kuvamine
\V : bash'i versiooni ja patch'i kuvamine
\V : bash'i versiooni ja patch'i numbri kuvamine
\w : jooksva töökataloogi kuvamine
\w : jooksva töökataloogi kuvamine
\W : jooksva töökataloogi kuvamine
\W : jooksva töökataloogi kuvamine
\! : antud käsu jäjekorranumbri ajaloos kuvamine
\! : antud käsku ajaloos märkiva jäjekorranumbri kuvamine
\# : antud käsu käsunumbri kuvamine
\# : antud käsu käsunumbri kuvamine
\$ : juhul kui UID on 0 kuvatakse #, muul juhul $
\$ : juhul kui UID on 0 kuvatakse #, muul juhul $
Line 43: Line 45:
Näiteks muudame prompt'i nii, et see kuvab kuupäeva ja kellaja, hostinime ning jooksva kataloogi:
Näiteks muudame prompt'i nii, et see kuvab kuupäeva ja kellaja, hostinime ning jooksva kataloogi:
<pre>PS1="[\d \t \u@\h:\w ] $ "</pre>
<pre>PS1="[\d \t \u@\h:\w ] $ "</pre>
Nüüd näeb prompt välja:
 
Nüüd näeb prompt välja järgnev:
<pre>[Sun May 01 14:42:50 student@server2:~ ] $</pre>
<pre>[Sun May 01 14:42:50 student@server2:~ ] $</pre>


Line 49: Line 52:


Värvi lisamine prompt'i string'ile toimub järgneva käsuga:
Värvi lisamine prompt'i string'ile toimub järgneva käsuga:
<pre>PS1="\e[x;ym $PS1 \e[m"</pre>
<pre>'\e[x;ym $PS1 \e[m'</pre>
 
kus \e[ alustab värvi muutmise käsuga, x;y märgivad kasutatavat värvipaari, $PS1 on kasutatava shell'i prompt ja \e[m lõpetab värvi muutmise käsu.
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:
Prompt'i värvi punaseks muutmiseks tuleb sisestada järgnev käsk:
<pre>export PS1="\e[0;31m[\u@\h \W]$ \e[mv"</pre>


<pre>PS1="\e[0;31m[\u@\h \W]$ \e[m"</pre>
Tulemuseks on:
 
[[File:punaneprompt.png]]
[[File:punaneprompt.png]]


Line 69: Line 71:
0;33 : pruun</pre>
0;33 : pruun</pre>
0 asendamisel 1-ga saadakse antud värvi heledam varjant
0 asendamisel 1-ga saadakse antud värvi heledam varjant
'''tput käsklus'''
'''tput käsklus'''
Värvide lisamisel võib kasutada ka tput käsku. Järgnev muudab prompt'i punaseks:
Värvide lisamisel võib kasutada ka tput käsku. Järgnev muudab prompt'i punaseks:
Line 92: Line 95:
'''Muudatuste salvestamine'''
'''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.
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:
Avame .bashrc faili:
<pre>sudo nano .bashrc</pre>
<pre>sudo nano .bashrc</pre>
Lisame lõppu:
Lisame lõppu:
<pre>export PS1='\[\e[1;32m\][\u@\h \W]\$\[\e[0m\] '</pre>
<pre>export PS1='\[\e[1;32m\][\u@\h \W]\$\[\e[0m\] '</pre>
Prompt on nüüd uuel sisselogimisel rohelist värvi.
Prompt on nüüd uuel sisselogimisel rohelist värvi.
Võimalik on ka keerukamate konstruktsioonide lisamine:
Võimalik on ka keerukamate konstruktsioonide lisamine:
<pre>#If id command returns zero, you’ve root access.
<pre>#If id command returns zero, you’ve root access.
Line 106: Line 112:
fi</pre>
fi</pre>
Kasutaja prompt muutub root'i logimisel punaseks.
Kasutaja prompt muutub root'i logimisel punaseks.
Juhan Liiva A21
 
== Lisaks lugemist ==
 
[http://bashish.sourceforge.net/ Bashish võimaldab teemade lisamist tekstiterminalidele]
[http://www.afterstep.org/aterm.php Aterm võimaldab visuaalsete effektide lisamist]
 
== Kasutatud kirjandus ==
 
[http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html]
[http://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/]
[http://bash.cyberciti.biz/guide/Changing_bash_prompt]
 
'''Koostas Juhan Liiva A21'''

Revision as of 11:46, 2 May 2011

Poolik

Tutvustus

Enamik meist töötab shell prompt'iga. Vaikimisi kuvavad enamik Linux'i distro'sid hostinime ja jooksvat töö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 string'e muuta sisestades kaldkriipsuga sümboleid, mis lahti selgitatuna märgivad järgnevat:

\a : prompt annab helisignaali
\d : kuupäeva kuvamine formaadis nädalapäev-kuu-kuupäev
\D{formaat} : formaat edastatakse käsule strftime ja tulemus sisestatakse prompt'i string'i, formaadi tühjaks jätmine märgib, et tulemus kuvatakse lokaalses aja esituses
\e : ASCII kooditabeli katkestussümboli sisestamine
\h : hostinimi esimese '.'
\H : hostinimi
\j : shellis hetkel jooksvate tööde nimekirja kuvamine
\l : shell'i terminalseadme nime kuvamine
\n : uue rea sisestamine
\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 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 numbri kuvamine
\w : jooksva töökataloogi kuvamine
\W : jooksva töökataloogi kuvamine
\! : antud käsku ajaloos märkiva jäjekorranumbri 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 järgnev:

[Sun May 01 14:42:50 student@server2:~ ] $

Värvide lisamine

Värvi lisamine prompt'i string'ile toimub järgneva käsuga:

'\e[x;ym $PS1 \e[m'

kus \e[ alustab värvi muutmise käsuga, x;y märgivad kasutatavat värvipaari, $PS1 on kasutatava 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:

export PS1="\e[0;31m[\u@\h \W]$ \e[mv"

Tulemuseks on:

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.

Võimalik on ka keerukamate konstruktsioonide lisamine:

#If id command returns zero, you’ve root access.
if [ $(id -u) -eq 0 ];
then # you are root, set red colour prompt
  PS1="\\[$(tput setaf 1)\\]\\u@\\h:\\w #\\[$(tput sgr0)\\]"
else # normal
  PS1="[\\u@\\h:\\w] $"
fi

Kasutaja prompt muutub root'i logimisel punaseks.

Lisaks lugemist

Bashish võimaldab teemade lisamist tekstiterminalidele Aterm võimaldab visuaalsete effektide lisamist

Kasutatud kirjandus

[1] [2] [3]

Koostas Juhan Liiva A21