Configurarea promptului de bash

Una dintre variabilele foarte importante este numită PS1. Această variabilă specifică tipul de prompt care se afișează când se așteaptă ca următoarea comandă să fie introdusă de utilizator. În mod implicit, această variabilă este setată la "\ s- \ v \ $". De fapt, bash are patru invitații, care sunt folosite în situații diferite. Variabila PS1 specifică aspectul șirului prompt, care se emite când shell-ul așteaptă introducerea comenzii. Instrumentul secundar, dat de variabila PS2, apare când shell-ul așteaptă ca utilizatorul să introducă mai multe date necesare pentru a continua să ruleze comanda sau programul care rulează. În mod implicit, PS2 are valoarea ">". Ați avut deja ocazia să vedeți această invitație când ați rulat comanda pisică pentru a introduce date din tastatură în fișier. Un alt exemplu este comanda ftp, după lansarea comenzii, invitația ia și acest formular.

Promptul dat de variabila PS3 este folosit în comanda select. Promptul dat de variabila PS4 este afișat înaintea fiecărei comenzi, în timp ce bash ține evidența procesului de execuție. Valoarea implicită este "+".

Dacă aveți această dorință, puteți schimba aspectul variabilelor PS1 și PS2. În acest caz, puteți utiliza orice caractere introduse de la tastatură, precum și un număr de caractere speciale, care atunci când se decodifică promptul sunt decodificate în conformitate cu Tabelul. 5.3 (vom da doar câteva dintre ele, de exemplu, pentru o listă completă a se vedea pagina de om pentru bash utilitate).

Tabelul 5.3. Simboluri speciale pentru formarea unei invitații

\ a Bip (cod ASCII 07)

\ d Data în formatul "Zi, lună, număr", de exemplu, miercuri, 17 octombrie.

\ h Numele gazdei la primul punct

\ H Numele complet al gazdei

\ t Timpul curent în format de 24 de ore: HH: MM: SS (ore: minute: secunde)

\ T Timpul curent în format de 12 ore: HH: MM: SS

\ @ Ora curentă în formatul de 12 ore am / pm

\ u Numele utilizatorului care a pornit shell-ul

\ w Numele complet al directorului de lucru curent (începând de la rădăcină)

\ W Directorul curent de lucru (fără numele căii)

\ $ Semnul # dacă shell-ul este rulat de superuser și caracterul $, dacă shell-ul este rulat de un utilizator normal.

\ nnn Un caracter care are un cod octal nnn

\ n Linie nouă (feed line)

\ # Numărul de comandă curent

\\ Backslash (o backslash)

\ [Începutul unei secvențe de caractere care nu pot fi imprimate (acest caracter poate fi folosit pentru a include secvența caracterelor de control ale terminalului în textul prompt)

\] Sfârșitul unei secvențe de caractere care nu pot fi tipărite

\! Numărul de ordine al acestei comenzi în istoria echipelor

Numărul actual al echipei (numărul de ordine al comenzii fiind executate în sesiunea curentă) poate fi diferită de numărul echipelor din lista de istoricul comenzilor, deoarece aceasta din urmă include comenzile care au fost stocate în fișierul istoric de comandă.

De exemplu, după executarea comenzii (deoarece există un spațiu în linie, sunt necesare citate)

[root] # PS1 = "[\ u @ \ h \ W] \ $"

promptă standard va fi afișat în paranteze pătrate, numele de utilizator, simbolul @, numele computerului, un spațiu, numele directorului curent (fără cale), suportul de fixare dreapta și simbolul $ (în cazul în care shell-ul se execută un utilizator simplu) sau # (în cazul în care shell-ul se execută pe numele utilizatorul root).