A Bash színek és tartalom testreszabása a Linux terminálpromptban
Ma a Bash az alapértelmezett shell a legtöbb (ha nem az összes) modern Linux disztribúcióban. Lehetséges azonban, hogy észrevette, hogy a terminál szövegszíne és a prompt tartalma disztribúciónként eltérő lehet.
Javasolt olvasmány: 5 leggyakrabban használt nyílt forráskódú shell Linuxhoz
Ha azon töprengett, hogyan szabhatja testre ezt a jobb hozzáférhetőség vagy puszta szeszély érdekében, olvassa tovább – ebben a cikkben elmagyarázzuk, hogyan teheti ezt meg.
A PS1 Bash környezeti változó
A parancssort és a terminál megjelenését a PS1
nevű környezeti változó szabályozza. A Bash kézikönyv szerint a PS1 az elsődleges prompt karakterlánc, amely akkor jelenik meg, amikor a shell készen áll egy parancs olvasására.
A PS1ben engedélyezett tartalom több fordított perjellel megtisztított speciális karakterből áll, amelyek jelentése a kézikönyvoldal PROMPTING szakaszában található.
Szemléltetésképpen jelenítsük meg a PS1
aktuális tartalmát a rendszerünkben (ez az Ön esetében némileg eltérhet):
echo $PS1
[\u@\h \W]$
Most elmagyarázzuk, hogyan szabhatjuk testre a PS1-et igényeinknek megfelelően.
A PS1 formátum testreszabása
A kézikönyvoldal PROMPTING szakasza szerint az egyes speciális karakterek jelentése:
\u:
az aktuális felhasználó felhasználóneve.\h:
a gazdagépnév egészen az első (.) pontig a Teljesen minősített tartománynévben.\W:
az aktuális munkakönyvtár alapneve, a $HOME tilde (~) rövidítéssel.\$:
Ha az aktuális felhasználó root, akkor jelenítse meg a következőt: #, ellenkező esetben $.
Például fontolóra vehetjük a \!
hozzáadását, ha az aktuális parancs előzményszámát akarjuk megjeleníteni, vagy a \H
elemet, ha az FQDN-t szeretnénk megjeleníteni ahelyett. a szerver rövid neve.
A következő példában mindkettőt importáljuk jelenlegi környezetünkbe a következő parancs végrehajtásával:
PS1="[\u@\H \W \!]$"
Ha megnyomja az Enter billentyűt, látni fogja, hogy az üzenet tartalma az alábbiak szerint módosul. Hasonlítsa össze a parancssort a fenti parancs végrehajtása előtt és után:
Most lépjünk egy lépéssel tovább, és változtassuk meg a parancssorban a felhasználó és a gazdanév színét – mind a szöveget, mind a környező hátteret.
Valójában a prompt 3 aspektusát testreszabhatjuk:
Text Format | Foreground (text) color | Background color |
0: normal text | 30: Black | 40: Black |
1: bold | 31: Red | 41: Red |
4: Underlined text | 32: Green | 42: Green |
33: Yellow | 43: Yellow | |
34: Blue | 44: Blue | |
35: Purple | 45: Purple | |
36: Cyan | 46: Cyan | |
37: White | 47: White |
Az elején a \e
speciális karaktert, a végén pedig az m
karaktert fogjuk használni annak jelzésére, hogy a következő színsorozat.
Ebben a sorrendben a három érték (background, format és foreground) vesszővel van elválasztva (ha nem adunk meg értéket, az alapértelmezettet feltételezi) .
Javasolt olvasmány: Ismerje meg a Bash Shell-szkriptet Linuxban
Ezenkívül, mivel az értéktartományok eltérőek, nem számít, melyiket (háttér, formátum vagy előtér) adja meg először.
Például a következő PS1
esetén a prompt sárga aláhúzott szöveggel jelenik meg piros háttérrel:
PS1="\e[41;4;33m[\u@\h \W]$ "
Bármennyire is jól néz ki, ez a testreszabás csak az aktuális felhasználói munkamenetre érvényes. Ha bezárja a terminált vagy kilép a munkamenetből, a módosítások elvesznek.
Ahhoz, hogy ezek a változtatások véglegesek legyenek, hozzá kell adnia a következő sort a ~/.bashrc
vagy ~/.bash_profile
fájlhoz, a disztribúciótól függően:
PS1="\e[41;4;33m[\u@\h \W]$ "
Nyugodtan játssz a színekkel, hogy megtaláld a számodra legmegfelelőbbet.
Összegzés
Ebben a cikkben elmagyaráztuk, hogyan szabhatja testre a Bash prompt színét és tartalmát. Ha kérdése vagy javaslata van ezzel a bejegyzéssel kapcsolatban, használja az alábbi megjegyzés űrlapot, hogy kapcsolatba lépjen velünk. Várom válaszukat!