Despre Linux

  • Acasă
  • Linux
    • Comenzi Linux
    • Tutoriale
  • RHCSA
    • Exerciții RHCSA
    • SELinux
    • Permisiuni
  • General
    • Open source
  • Contact

BASH SHELL: personalizarea prompterului din terminalul Linux (PS1)

30 noiembrie 2016 By Bobses Un comentariu

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:

[\[email protected]\h \W]\$

Asta înseamnă că este afișat numele de utilizator (\u), caracterul @, hostname-ul (\h), directorul curent (\W) și caracterul $ (sau # pentru root):

[[email protected] ~]$

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* ]] && return

alias ls='ls --color=auto'
#PS1='[\[email protected]\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ă:

prompter-bash

Două valori diferite ale promptului în terminalul Linux

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:

term-colors

Setarea numărului de culori în terminalul Linux

Mai jos sunt prezentate codurile culorilor (funcționează pe majoritatea terminalelor):

ColorCode
Black0;30
Blue0;34
Green0;32
Cyan0;36
Red0;31
Purple0;35
Brown0;33
Light Gray0;37
Dark Gray1;30
Light Blue1;34
Light Green1;32
Light Cyan1;36
Light Red1;31
Light Purple1;35
Yellow1;33
White1;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.

Partajează asta:

  • Dă clic pentru a partaja pe Facebook(Se deschide în fereastră nouă)
  • Dă clic pentru a partaja pe LinkedIn(Se deschide în fereastră nouă)
  • Dă clic pentru a partaja pe Twitter(Se deschide în fereastră nouă)

Similare

Din categoria: Linux, Tutoriale Etichete: bash shell, linux, prompt Linux, prompter

Trackbacks

  1. Despre Linux – Personalizarea setărilor utilizatorului și sistemului Linux spune:
    1 septembrie 2017 la 8:05

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

    Răspunde

Lasă un răspuns Anulează răspunsul

Acest sit folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.

Copyright © 2021 · Bobses

We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.Ok