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 130: Line 130:
fi</pre>
fi</pre>
Kasutaja prompt muutub root'i logimisel punaseks.
Kasutaja prompt muutub root'i logimisel punaseks.
== Kokuvõtteks ==
Artiklis sai tutvutud erinevate keskkonnamuutuja PS1 modifitseerimise võimalustega, millega sai muuta promptis kuvatavat informatsiooni ning värvi.
Kindlasti polnud see artikkel linuxi kasutamise seisukohalt surmvajalik, sest käsud, mis sisestatakse jäävad samaks olenemata selles, kas prompt on lilla või roosa ;). Samas on igaühel võimalus veidi leida rakendust oma loovusele.


== Lisaks lugemist ==
== Lisaks lugemist ==

Revision as of 13:23, 15 May 2011

V1.1 on tegemisel Muudetud sai järgmisi asju:

Tutvustuseks

Enamik neist, kes kordki linuxi operatsioonisüsteemiga kokku puutunud on näinud või kasutanud prompt'i. Prompt on lihtsalt öelduna kohaks, mille taha annab kasutaja käske. Prompt'il võib olla mitmeid eri kujusid, üks lihtsamaid prompt'e:

bash $

Vaikimisi kuvavad enamik Linux'i peresse kuuluvaid operatsioonisüsteeme masina domeeninime ehk masinat identifitseerivat nime ja jooksvat töökataloogi. Prompt'i kuju määrab keskkonnamuutuja PS1. Prompt'i saab lihtsate vahenditega panna kuvama erinevat informatsiooni nagu kellaaega ning lisada värve. Järgnev juhend on mõeldud igaühele, kes soovib oma elu veidi lihtsamaks teha või miks mitte ka veidi edev olla ning muuta oma vaikimisi prompt vastavalt oma kasutamisharjumustele ning -eelistustele.

Sõnaselgitusi

Mõned sõnaselgitused erinevate tekstis sisalduvate mõistete kohta:

prompt- koht, mille taha sisestab kasutaja oma käske masina domeeninimi- masinat identifitseeriv tähtede ja/või numbrite kombinatsioon shell- tõlkes koorik, käsurea liides bash- üks shell'e PS1- keskkonnamuutuja, mis määrab prompt'i kuju

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:

export 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ärkide värv on vahetuses
tput sgr0 : taastab algseisud
tput setaf {CODE} : märkide vä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.

Kokuvõtteks

Artiklis sai tutvutud erinevate keskkonnamuutuja PS1 modifitseerimise võimalustega, millega sai muuta promptis kuvatavat informatsiooni ning värvi. Kindlasti polnud see artikkel linuxi kasutamise seisukohalt surmvajalik, sest käsud, mis sisestatakse jäävad samaks olenemata selles, kas prompt on lilla või roosa ;). Samas on igaühel võimalus veidi leida rakendust oma loovusele.

Lisaks lugemist

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

Kasutatud kirjandus

[1] [2] [3]

Koostas Juhan Liiva A21