Ero sivun ”Bashin ulkoasu” versioiden välillä

Siirry navigaatioon Siirry hakuun
Raja-anturasta, välitallennus
 
LinuxMan (keskustelu | muokkaukset)
 
(14 välissä olevaa versiota 10 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
GNU/Linuxin käyttäjät ovat järkyttävän omalaatuisia, jos ei muun kanssa niin ainakin oman Linuxin pitää olla persoonallinen joka tavalla. Työpöytien koristelu ja [[XMMS]]:n nahkojen hakeminen on jokaiselle tuttua touhua tavalla tai toisella, mutta miten saisi vielä hieman koristeltua Linuxia? Helppoa, muokataan [[bash]]-komentotulkin komentokehotteen ulkoasua.
GNU/Linuxin käyttäjät ovat omalaatuisia, jos ei muun kanssa niin ainakin oman Linuxin pitää olla persoonallinen. Työpöytien koristelu on monelle tuttua touhua tavalla tai toisella, mutta miten saisi vielä hieman koristeltua Linuxia? Helppoa, muokataan [[bash]]-komentotulkin komentokehotteen ulkoasua.
   
   
==Pohjustusta aiheeseen==
==Pohjustusta aiheeseen==
Monet ovat tottuneet käyttämään GNU/Linuxissa jotain graafista järjestelmää tietokoneensa hallintaan. Kuitenkin tehokasta ja ykisnkertaista komentoriviä käytetään yhä paljon. Yleisin käytössä oleva komentotulkki on [[bash]] joka mahdollistaa ulkoasunsa muokkaamisen melko laajasti.
Monet ovat tottuneet käyttämään GNU/Linuxissa jotain graafista järjestelmää tietokoneensa hallintaan. Tehokasta ja yksinkertaista komentoriviä käytetään yhä paljon. Yleisin käytössä oleva komentotulkki on [[bash]], joka mahdollistaa ulkoasunsa muokkaamisen melko laajasti.
 
Monesti äyttäjät monesti huomaavat selkeitä puutteita bashin komentokehotteen ulkoasussa, se kun ei esimerkiksi näytä tiedostojen tai ajossa olevien prosessien lukumäärää. Joillekin taas käy silmään se sama ainainen "käyttäjä@hkonenimi>" -teksti. Nämä asiat voidaan kuitenkin korjata kevyellä ohjelmoinnilla joka on erittäin yksinkertaista - tarvitset vain bashin, tekstieditorin ja oikean asenteen.  


Monesti käyttäjät huomaavat selkeitä puutteita bashin komentokehotteen ulkoasussa, se kun ei esimerkiksi näytä tiedostojen tai ajossa olevien prosessien lukumäärää. Joillekin taas käy silmään se sama ainainen "käyttäjä@konenimi>" -teksti. Nämä asiat voidaan kuitenkin korjata kevyellä ohjelmoinnilla joka on erittäin yksinkertaista - tarvitset vain bashin, tekstieditorin ja oikean asenteen.


==Kevyt aloitus==
==Kevyt aloitus==
Rivi 35: Rivi 34:
|\h
|\h
|Isäntänimi ensimmäiseen pisteeseen asti
|Isäntänimi ensimmäiseen pisteeseen asti
|-
|\H
|\H
|Isäntänimi kokonaisuudessaan
|Isäntänimi kokonaisuudessaan
Rivi 70: Rivi 70:
No niin, kokeillaan sitten kuinka näitä käytetään. Asetetaan komenttokehotteeksemme vaikka kellonaika@käyttäjä:hakemistopolku hakasulkujen sisään. Tapahtuu seuraavalla tavalla (muista heittomerkit):
No niin, kokeillaan sitten kuinka näitä käytetään. Asetetaan komenttokehotteeksemme vaikka kellonaika@käyttäjä:hakemistopolku hakasulkujen sisään. Tapahtuu seuraavalla tavalla (muista heittomerkit):
  käyttäjä@kone$ PS1="[\t@\u:\w]"  
  käyttäjä@kone$ PS1="[\t@\u:\w]"  
  [10:42:33@käyttäjä:~/hakemisto]  
  [10:42:33@käyttäjä:~/hakemisto]


==Asetusten tallentaminen==
==Asetusten tallentaminen==
Rivi 81: Rivi 81:
  }  
  }  


euraavaksi otamme tiedostossa olevan muokatun komentokehotteen käyttöön käyttämällä <tt>source</tt>-komentoa ja kutsumalla funktiota "muuta_kehote". <tt>Source</tt> lataa sille parametrina annetun tiedoston, jolloin tämän komennon ajamisen jälkeen äsken luomamme funktio löytyy.
Seuraavaksi otamme tiedostossa olevan muokatun komentokehotteen käyttöön käyttämällä <tt>source</tt>-komentoa ja kutsumalla funktiota "muuta_kehote". <tt>Source</tt> lataa sille parametrina annetun tiedoston, jolloin tämän komennon ajamisen jälkeen äsken luomamme funktio löytyy.
   
   
  käyttäjä@kone$ source kehote  
  käyttäjä@kone$ source kehote  
Rivi 111: Rivi 111:
  [käyttäjä@kone:~]$  
  [käyttäjä@kone:~]$  


Nyt osaamme siis liittä ulkopuolisia komentoja, mutta komentokehotteemme näyttää silti vielä hieman keskeneräiseltä. Lisäämme siihen siis hieman väriä piristämään ulkoasua. Värikoodit joita käytämme, tulee aina laittaa <tt>\[\033[VÄRIKOODIm\]</tt>-merkkijonon sisään (kohtaan jossa lukee värikoodi). Muutoin bash ei tajua niitä. Voit käyttää värikoodeja sellaisenaan tai sitten tallentaa ne muuttujaan, jolloin niiden käyttö on huomattavasti vaivattomampaa. Alla olevassa taulukossa on listattu värikoodit
Nyt osaamme siis liittää ulkopuolisia komentoja, mutta komentokehotteemme näyttää silti hieman keskeneräiseltä. Lisäämme siihen siis hieman väriä piristämään ulkoasua. Värikoodit joita käytämme, tulee aina laittaa <tt>\[\033[VÄRIKOODIm\]</tt>-merkkijonon sisään (kohtaan jossa lukee värikoodi). Muuten bash ei tajua niitä. Voit käyttää värikoodeja sellaisenaan tai tallentaa ne muuttujaan, jolloin niiden käyttö on huomattavasti vaivattomampaa. Alla olevassa taulukossa on listattu värikoodit.
{|
{|
|'''Väri'''
|'''Väri'''
Rivi 165: Rivi 165:
|}
|}
    
    
Seuraavassa esimerkissämme lisäämme vielä aikaisemmin tekemäämme promptin tiedostoon muutamia värejä. Ensin teemme niistä paikallisia muuttujia, joiden nimiä voidaan käyttää värien tulostamiseen. Värit tulee asettaa voimaan ennen sitä tekstin pätkää, johon sen halutaan vaikuttavan, koska bash:n fontin väri vaihtuu ruudulle tulostamisen ajaksi ja emme halua yli tai alimääräisiä värejä promptiimme. Värit myös jatkuvat siihen asti kunnes toinen väri määrätään. Huomaa promptin lopussa $NO_COLOR-komento. Ilman tuota komentoa viimeksi annettu väri jäisi näkymään vielä kirjoitettavassakin tekstissä, joten muista lisätä se perään.
Seuraavassa esimerkissä lisäämme vielä aikaisemmin tekemäämme komentokehotteen ulkoasua muuttavan funktioon muutamia värejä. Ensin teemme niistä paikallisia muuttujia, joiden nimiä voidaan käyttää värien tulostamiseen. Värit tulee asettaa voimaan ennen sitä tekstinpätkää, johon sen halutaan vaikuttavan, koska bashin fontin väri vaihtuu ruudulle tulostamisen ajaksi ja emme halua ylimääräisiä värejä komentokehotteeseemme. Värit myös jatkuvat siihen asti kunnes toinen väri määrätään. Huomaa komentokehotteen lopussa oleva <tt>$EI_VARIA</tt>-komento, jota ilman viimeksi annettu väri jäisi näkymään vielä kirjoitettavassakin tekstissä.
  #! /bin/bash  
  #!/bin/bash  
  function muuta_prompt {  
  function muuta_kehote {  
#asetetaan värit paikallisiin muuttujiin  
  #asetetaan värit paikallisiin muuttujiin  
local PUN="\[033[0;31m\]"  
  local PUN="\[\033[0;31m\]"  
local VPUN="\[033[1;31m\]"  
  local VPUN="\[\033[1;31m\]"  
local SIN="\[033[0;34m\]"  
  local SIN="\[\033[0;34m\]"  
local VSIN="\[033[1;34m\]"  
  local VSIN="\[\033[1;34m\]"  
local VALK="\[\033[1;37m\]"  
  local VALK="\[\033[1;37m\]"  
local EI_VARIA="\[\033[0m\]"  
  local EI_VARIA="\[\033[0m\]"  
# Lisätään värit promptiin. Huomaa, muuttujat lisätään aina  
  # Lisätään väriä komentokehotteeseemme. Huomaa, että muuttujat lisätään aina  
# dollarimerkki edessä  
  # dollarimerkki edessä  
PS1="$VSIN-$SIN=$VALK\$(ls -l | wc -l)
  PS1="$VSIN-$SIN=$VALK\$(ls -l | wc -l)$SIN=$VSIN-\n\r[$PUN\u$VALK@$PUN\h$V\w$SIN]$VALK$ $EI_VARIA"  
$SIN=$VSIN-\n\r[$PUN\u$VALK@$PUN\h$V PUN:\w$SIN]$VALK$ $EI_VARIA"  
  }  
  }  
   
   
Nyt vain lataat tiedoston <tt>source</tt>lla ja ajat funktion muuta_kehote, ja komentokehote on entistä ehompi ja värikkäämpi.
== Lopuksi ==
Tässä artikkelissa on kerrottu perusasiat komentokehotteen ulkoasun muokkaamisesta. Vain mielikuvitus on rajana tehdessäsi itsellesi persoonallista komentokehotetta. Muista myös bashin man-sivut jotka auttavat ongelmissa ja tarjoavat elintärkeää lisätietoa.
== Katso myös ==
*[[Bash]]
*[[Komentorivikomennot]]
*[[Komentorivivinkkejä]]


Nyt vain sourcetat tiedoston ja ajat funktion muuta_prompt ja promptisi on entistä ehompi ja värikkäämpi. Tämän pienen artikkelin tarkoitus oli johdattaa sinut persoonallisten promptien valmistuksen tielle. Vain mielikuvitus on rajana tehdessäsi itsellesi persoonallista promptia, muista että myös bashin man-sivut auttavat ongelmissa ja tarjoavat elintärkeää lisätietoa.
[[Luokka:Komentorivi]]