Stăpânirea Linux: un ghid pentru începători pentru personalizarea promptului Bash

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

Linia de comandă este o parte esențială a lucrului cu Linux, iar promptul bash este poarta ta de acces către această interfață puternică. În timp ce promptul implicit face treaba, personalizarea acestuia vă poate îmbunătăți considerabil productivitatea și vă poate face experiența terminalului mai plăcută. În acest ghid, vom explora beneficiile personalizării promptului bash și vom parcurge procesul pas cu pas.

Apariția promptului dvs. bash este controlată de o variabilă de mediu numită PS1 (prescurtare de la „șirul prompt unu”). În mod implicit, conține de obicei informații precum numele dvs. de utilizator, numele gazdă și directorul de lucru curent. Pentru a vedea cum arată variabila PS1, utilizați comanda echo:

echo $PS1

Ieșirea va include probabil o combinație de caractere de text simplu și secvențe speciale cu escape de bară oblică inversă. Aceste secvențe reprezintă diverse informații pe care shell-ul le inserează în promptul dumneavoastră.

Înainte de a ne aprofunda în personalizarea promptului, este o idee bună să faceți o copie de rezervă a șirului de prompt existent. Puteți face acest lucru prin copierea valorii PS1 într-o nouă variabilă:

ps1_old="$PS1"

Acum, să experimentăm cu câteva modele diferite de prompt. De exemplu, puteți încerca un prompt gol:

PS1=""

Sau un prompt minim cu doar un semn de dolar:

PS1="$ "

Puteți chiar să adăugați un sunet de clopoțel la solicitare:

PS1="(a)$ "

Rețineți că folosirea ( și ) pentru a împacheta caractere care nu se imprimă, cum ar fi . Acest lucru îl ajută pe bash să calculeze corect lățimea promptului.

Pentru o solicitare mai informativă, încercați să includeți ora și numele gazdei:

PS1="A h $ "

Și iată o variantă care seamănă cu promptul implicit:

PS1="<u@h W>$ "

Simțiți-vă liber să experimentați cu diversele secvențe de evadare cu bară oblică inversă pentru a crea un prompt care se potrivește nevoilor dvs.

Emulatoarele moderne de terminale acceptă culoarea prin utilizarea codurilor de evacuare ANSI. Aceste secvențe speciale sunt încorporate în fluxul de caractere și indică terminalului să schimbe atributele textului, să miște cursorul și multe altele.

Pentru a seta culoarea textului, utilizați următorul format:

33(X;YYm

Unde X este atributul caracterului (cum ar fi bold) și YY este codul de culoare. De exemplu, pentru a face textul prompt în roșu, utilizați:

PS1="(33(0;31m)<u@h W>$ "

Dar acum tot ce tastați după prompt este și roșu! Pentru a remedia acest lucru, adăugați un alt cod de escape la sfârșit pentru a reseta culoarea:

PS1="(33(0;31m)<u@h W>$(33(0m) "

De asemenea, puteți schimba culoarea de fundal folosind coduri precum 33(0;41m pentru roșu.

Codurile de evacuare ANSI vă permit, de asemenea, să mutați cursorul în jurul ecranului terminalului. Acesta este util pentru afișarea informațiilor într-o locație diferită, cum ar fi un ceas în colțul de sus.

Iată un exemplu de prompt care desenează o bară roșie în partea de sus a ecranului cu un ceas galben:

PS1="(33(s33(0;0H33(0;41m33(K33(1;33mt33(0m33(u)<u@h W>$ "

Să detaliem ce face fiecare parte:

( Începeți caracterele care nu se imprimă
33(s Salvați poziția cursorului
33(0;0H Mutați cursorul în colțul din stânga sus
33(0;41m Setați culoarea de fundal la roșu
33(K Ștergeți linia de la cursor până la sfârșit
33(1;33m Setați culoarea textului la galben
afișează ora curentă
33(0m Resetează culoarea
33(u Restabiliți poziția cursorului
) Terminați caracterele care nu se imprimă

Pentru ca personalizările prompte să rămână, adăugați-le în fișierul dvs. .bashrc. Deschideți fișierul într-un editor de text și introduceți aceste rânduri:

PS1="(33(s33(0;0H33(0;41m33(K33(1;33mt33(0m33(u)<u@h W>$ "
export PS1

Salvați fișierul, apoi fie reporniți terminalul, fie rulați source ~/.bashrc pentru a reîncărca setările.

Odată ce ați stăpânit elementele de bază, puteți duce promptul la nivelul următor cu funcții și scripturi shell. De exemplu, puteți scrie o funcție pentru a afișa ramura Git curentă sau puteți schimba dinamic culorile în funcție de starea de ieșire a ultimei comenzi.

Când vă creați promptul perfect, țineți cont de aceste sfaturi:

  • Fiți atenți la lungimea promptă, mai ales dacă lucrați adesea în structuri de directoare profunde.
  • Evitați utilizarea operațiunilor costisitoare care ar putea încetini randarea promptului.
  • Folosiți culorile în mod judicios pentru a îmbunătăți mai degrabă decât a distrage atenția.
  • Testați promptul în diferiți emulatori de terminal pentru a asigura compatibilitatea.

Dacă personalizarea promptă nu funcționează conform așteptărilor, verificați aceste capcane comune:

  • Am uitat să înfășurați secvențele care nu se imprimă în ( și ).
  • Utilizarea unui cod de escape ANSI incompatibil sau incorect formatat.
  • Depășirea lungimii maxime prompte, provocând împachetare sau suprapunere.

În cazul în care aveți îndoieli, consultați HOWTO-ul cuprinzător Bash Prompt sau încercați un generator de prompturi bazat pe web pentru a reveni pe drumul cel bun.

  • Promptul bash este foarte personalizabil folosind variabila PS1.
  • Caracterele speciale backslash-escape reprezintă elemente prompte, cum ar fi numele de utilizator, numele de gazdă și ora.
  • Codurile de evacuare ANSI permit controlul culorii și al mișcării cursorului.
  • Personalizarea promptă atentă poate crește productivitatea și atractivitatea vizuală.
  • Modificările permanente se fac prin editarea fișierului .bashrc.

Personalizarea promptului bash este o modalitate distractivă de a vă personaliza experiența terminalului Linux în timp ce învățați abilități valoroase. Prin stăpânirea procesării prompte, veți obține o înțelegere mai profundă a modului în care funcționează shell-ul și veți putea să-l adaptați fluxului dvs. de lucru unic. Așa că mergeți mai departe și experimentați – și nu uitați să împărtășiți comunității creațiile dvs. personalizate!

  1. Pot folosi aceste tehnici de personalizare promptă pe alte shell-uri precum Zsh? Da, majoritatea acestor concepte se traduc bine în alte shell-uri, deși sintaxa exactă și setul de caracteristici pot diferi. Consultați documentația shell-ului dvs. pentru detalii.

  2. Există instrumente sau site-uri web care ajută la generarea de șiruri de mesaje personalizate? Absolut! Căutați „generator de prompt bash” pentru a găsi instrumente bazate pe web care oferă o interfață grafică pentru construirea promptului dvs. Unele includ chiar presetări pentru stiluri populare.

  3. Cum pot afișa ramura curentă Git în promptul meu? Va trebui să scrieți o funcție shell care apelează comenzi git pentru a extrage numele ramurilor, apoi includeți acea funcție în șirul PS1. Bash Prompt HOWTO are exemple detaliate ale acestei tehnici.

  4. Este posibil să aveți solicitări diferite pentru directoare diferite? Da, puteți utiliza un script shell în prompt pentru a verifica directorul curent și pentru a seta condiționat PS1 la valori diferite. Acest lucru este la îndemână pentru directoare de codare de culori sau pentru evidențierea atunci când vă aflați în proiecte controlate de versiune.

  5. Pot folosi emoji-uri sau simboluri speciale în promptul meu bash? Emulatoarele moderne de terminale acceptă caractere Unicode, astfel încât să puteți include emoji-uri și alte simboluri în prompt. Cu toate acestea, rețineți că nu toate fonturile redă aceste caractere în mod consecvent, așa că testați bine înainte de a vă angaja la un design bazat pe emoji.

Acum că ați învățat elementele de bază ale personalizării promptului bash, este timpul să vă puneți abilitățile la încercare. Încercați să creați o solicitare care să afișeze următoarele:

  • Numele dvs. de utilizator este verde
  • Simbolul @ în alb
  • Numele dvs. de gazdă în magenta
  • Directorul de lucru curent în albastru
  • Un semn dolar ($) în roșu

Sugestie: utilizați caracterele speciale și $ împreună cu codurile de culoare ANSI corespunzătoare. Nu uitați să împachetați caracterele care nu se imprimă în ( și ).

Soluţie:

PS1="(33(0;32m)u(33(0;37m)@(33(0;35m)h (33(0;34m)W(33(0;31m)$(33(0m) "

Simțiți-vă liber să experimentați cu diferite culori, atribute (cum ar fi bold) și informații suplimentare pentru a face promptul cu adevărat unic!

Acum că sunteți echipat să vă personalizați promptul de bash, vreau să văd cu ce ați venit! Împărtășiți-vă modelele creative în comentariile de mai jos și nu ezitați să întrebați dacă vă confruntați cu provocări pe parcurs. Să învățăm unii de la alții și să facem din terminalul Linux un loc mai colorat și mai expresiv!

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.