De cele mai multe ori, distribuțiile Linux folosesc un prompter clasic în terminal, afișând numele de utilizator, hostname-ul și directorul curent. După un timp, parcă te plictisești să vezi de fiecare dată același lucru, așa că-ți vine să schimbi și să personalizezi promptul Linux.
Prompterul este controlat prin intermediul unei variabile shell speciale, PS1.
Pentru a afișa valoarea actuală a variabilei dați comanda:
echo $PS1
La ieșire veți avea ceva de genul:
[\u@\h \W]\$
Asta înseamnă că este afișat numele de utilizator (\u), caracterul @, hostname-ul (\h), directorul curent (\W) și caracterul $ (sau # pentru root):
[bobsesa@arch ~]$
Dar vreau să fie afișat altceva. Pentru asta trebuie să alocăm o altă valoare variabilei $PS1; se scrie comanda de mai jos cu noul șir de caractere dorit încadrat în ghilimele simple:
export PS1='acesta este noul meu prompt:'
Apăsăm ENTER și în terminal va apărea noul prompter. Dar valoarea nu se menține decât pe durata sesiunii, astfel încât la următoarea inițializare a terminalului vom avea vechiul prompter.
Modificarea permanentă a prompterului
Pentru a modifica permanent valoarea prompterului, trebuie să edităm fișierul .bashrc aflat în directorul home al fiecărui utilizator.
nano .bashrc
Vom comenta linia care definește actualul prompter, punând caracterul # înaintea sa (poate vom dori să revenim la el cândva). Fișierul meu .bashrc arată astfel:
#
# ~/.bashrc
## If not running interactively, don't do anything
[[ $- != *i* ]] && returnalias ls='ls --color=auto'
#PS1='[\u@\h \W]\$ '
PS1="\e[1;33mOrdonă, stăpâne Bobses!> \e[m"export TERM=xterm-256color
if [ -f /usr/bin/screenfetch ]; then screenfetch; fi
command fortune
După salvare cu CTRL+X, dacă redeschidem terminalul va apărea noua valoare setată:
Schimbarea culorilor prompterului
Dacă nu-i spunem nimic, noul prompter va fi afișat cu culoarea temei terminalului. Dar putem să schimbăm și culorile promptului Linux.
Prestabilit, terminalul Linux folosește 8 culori; dați comanda tput colors pentru a vă convinge.
Pentru a trece de la 8 culori la 256 de culori, vom modifica o altă variabilă d emediu în aceklași fișier .bash.rc (se vede și în exemplul de mai sus):
export TERM=xterm-256color
Acum, comanda tput colors va avea un alt răspuns:
Mai jos sunt prezentate codurile culorilor (funcționează pe majoritatea terminalelor):
| Color | Code | 
| Black | 0;30 | 
| Blue | 0;34 | 
| Green | 0;32 | 
| Cyan | 0;36 | 
| Red | 0;31 | 
| Purple | 0;35 | 
| Brown | 0;33 | 
| Light Gray | 0;37 | 
| Dark Gray | 1;30 | 
| Light Blue | 1;34 | 
| Light Green | 1;32 | 
| Light Cyan | 1;36 | 
| Light Red | 1;31 | 
| Light Purple | 1;35 | 
| Yellow | 1;33 | 
| White | 1;37 | 
Valoarea 1 afișează varianta mai deschisă a culorii respective. Mai multe despre culorile terminalului aici.
Așadar, pentru a adăuga culori promptului Linux:
'\e[x;ym $PS1 \e[m'
Unde:
- \e[ : începe o schemă de culoare
 - x;y : perechea de numere care corespunde unei culor (x;y)
 - $PS1 : variabila promptului
 - \e[m : încheie schema culorii
 
Puteți să vă jucați și să afișați fiecare cuvânt al prompterului Linux în culori diferite.


[…] vrem să schimbăm promptul în linia de comandă, trebuie să edităm variabila $PS1 – am scris aici cum se poate face […]