Cum sa schimbi culoarea promptului de bash

April 28th, 2008 - 08:04

Pentru ca de obicei sunt cu minim 3 console in fata, s-a intamplat de multe ori sa tastez ceva unde nu trebuie, si s-a intamplat de asemenea sa resetez ce nu trebuie. Ca urmare, am inceput sa diferentiez sistemele intre ele, folosind culori diferite pentru prompt-ul bash.

Pentru a vedea formatul de la care porniti, puteti folosi:

root@host# echo $PS1

Asta in cazul in care aveti deja ceva customizat si vreti sa porniti de la asta. Implicit, veti primi ceva de forma [\\u@\h \\W]\\$, \u fiind userul curent, \h – hostname-ul curent si \W – directorul curent in care se lucreaza.

Modificarea prompt-ului pentru a adauga culori se face prin:

export PS1=”\e[x;ym[\u@\h \W]\$ \e[m "

... unde (x;y) reprezinta perechea de culori pe care vreti sa o folositi. De obicei, x ia valori de 0 sau 1, pentru a reprezenta varianta mai inchisa respectiv mai deschisa a culorii y. Y poate fi in variantele cele mai uzuale:

  • 30 - negru
  • 31 - rosu
  • 32 - verde
  • 33 - maro
  • 34 - albastru
  • 35 - purpuriu
  • 36 - cyan

Exemplu:

export PS1="\e[1;33m[\u@\h \W]\$ \e[m ”

Ultimul pas ar fi sa facem schimbarea asta permanenta. De retinut ca schimbarea culorii trebuie facuta individual, pentru fiecare user in parte. Eu unul am o culoare diferita cand sunt user, si cand sunt root, deci si asta poate fi de folos.

Trebuie editat fisierul .bash_profile sau .bashrc din /home/username, si adaugata linia de export de mai sus, la sfarsitul fisierului, pentru a suprascrie eventualele informatii deja existente cu privire la prompt. Daca vreti sa verificati functionalitatea, relogati-va in Terminal.

Tag-uri: , , , ,

2 comentarii pentru “Cum sa schimbi culoarea promptului de bash”

  1. Brayn says:

    Salut,

    Foarte interesant tutorialul! Cu toate astea as avea cateva mentiuni care te-ar putea ajuta in situatia asta.

    1) Nu e nevoie sa te reloghezi pentru a vedea modificarile, un simplu “source /home/USER/.bashrc” fiind de ajuns.

    2) Se poate seta atat culoare textului cat si backgroundului folosind o sintaxa de genul: PS1=”\e[1;32;40m[\u@\h \W]\$ \e[0m ” unde “1″ (arument optional) poate lua valorile de ‘0′ sau ‘1′ dupa cum ziceai si mai sus; “32″ este culoarea textului, poate lua valori intre 30 si 37 dupa cum ziceai si tu mai sus; “40″ (argument optional) este culoare backgroundului si ia valori intre 40 si 47

    3) Daca e sa ne luam dupa "best practices" la sfarsit se pune \e[0m in loc de \e[m. Teoretic ar avea acelasi efect dar... oricum are rolul de a reseta culorile pentru textul de dupa.

    4) Se pot folosi mai multe culori folosind o sintaxa de genul: PS1="\[\e[1;30m\]\u@\[\e[1;31m\]\H> \[\e[0m\]“ unde se pot adauga si parametrii de background de mai sus.

    Cele bune!

  2. Danny says:

    Si cat am cautat unde sa bag ca sa salveze culorile.
    Thanks a lot Mr. B! ;)

    Astept si alte tutoriale…

Lasă un comentariu

Dacă nu ai mai comentat până acum, primul tău comentariu va intra în moderare.
Încearcă să menţii un minim de bun simţ faţă de mine şi faţă de ceilalţi comentatori.
Pe de altă parte, orice părere argumentată este foarte bine venită.

Tag cloud:

adsense amintiri banc banci bani bere blackberry bloc blog blogosfera bloguri bowling bucuresti cabral carti cocalari colegi comunitate concurs concursuri cumparaturi digg dilema Diverse domenii emo fun funny furt games godaddy google gts hardware hosting hr idiocracy ikea injuraturi iso kfc laptopuri laser tag leapsa Linux livrari manele mare masini mcdonald's Microsoft misogin monden Movies muzica oameni online parcari party personal pietoni pizza plaja plugins politica portfolio pr prieteni Raiffeisen reclame relatii romani Romania scoala sex sexy Software spam sql swf tarani telefoane timp liber tips&tricks top trafic tv twitter Uncategorized upc vacanta vanzatoare vecini wii windows wordpress work xp yahoo zoso