Kaip tinkinti „Bash“ spalvas ir turinį „Linux“ terminalo eilutėje


Šiandien „Bash“ yra numatytasis apvalkalas daugelyje (jei ne visuose) šiuolaikiniuose „Linux“ paskirstymuose. Tačiau galbūt pastebėjote, kad teksto spalva terminale ir raginimo turinys gali skirtis įvairiose distribucijose.

Siūlomas skaitymas: 5 dažniausiai naudojami atvirojo kodo apvalkalai, skirti Linux

Jei susimąstėte, kaip tai pritaikyti, kad būtų lengviau pasiekti, ar tik užgaida, skaitykite toliau – šiame straipsnyje paaiškinsime, kaip tai padaryti.

PS1 Bash aplinkos kintamasis

Komandų eilutę ir terminalo išvaizdą valdo aplinkos kintamasis, vadinamas PS1. Pagal Bash vadovo puslapį PS1 reiškia pirminę raginimo eilutę, kuri rodoma, kai apvalkalas yra paruoštas skaityti komandą.

Leidžiamą turinį PS1 sudaro keli specialieji simboliai su pasviruoju brūkšniu, kurių reikšmė nurodyta vadovo puslapio skiltyje RAGINIMAS.

Norėdami iliustruoti, parodykime dabartinį PS1 turinį mūsų sistemoje (jūsų atveju tai gali šiek tiek skirtis):

echo $PS1

[\u@\h \W]$

Dabar paaiškinsime, kaip pritaikyti PS1 pagal mūsų poreikius.

PS1 formato pritaikymas

Vadovaujantis vadovo puslapio skyriumi PROMPTING, tai yra kiekvieno specialaus simbolio reikšmė:

  1. \u: dabartinio naudotojo naudotojo vardas.
  2. \h: prieglobos serverio pavadinimas iki pirmojo taško (.) visiškai kvalifikuotame domeno pavadinime.
  3. \W: dabartinio darbo katalogo pagrindinis pavadinimas su $HOME sutrumpintai su tilde (~).
  4. \$: Jei dabartinis naudotojas yra root, rodykite #, kitu atveju $.

Pavyzdžiui, galime apsvarstyti galimybę pridėti \!, jei norime, kad būtų rodomas dabartinės komandos istorijos numeris, arba \H, jei norime, kad būtų rodomas FQDN, o ne trumpasis serverio pavadinimas.

Šiame pavyzdyje abu importuosime į dabartinę aplinką vykdydami šią komandą:

PS1="[\u@\H \W \!]$"

Kai paspausite Enter, pamatysite, kad raginimo turinys pasikeičia, kaip parodyta toliau. Palyginkite eilutę prieš ir po pirmiau nurodytos komandos vykdymo:

Dabar eikime dar vieną žingsnį ir pakeiskime naudotojo ir prieglobos serverio pavadinimo spalvą komandų eilutėje – ir tekstą, ir aplinkinį foną.

Tiesą sakant, galime tinkinti 3 raginimo aspektus:

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

Pradžioje naudosime specialųjį simbolį \e, o pabaigoje – m, kad parodytume, jog toliau pateikiama spalvų seka.

Šioje sekoje trys reikšmės (fonas, formatas ir priekinis planas) atskiriamos kableliais (jei reikšmė nenurodyta, laikoma, kad yra numatytoji). .

Siūlomas skaitymas: išmokite „Bash Shell“ scenarijų „Linux“

Be to, kadangi verčių diapazonai yra skirtingi, nesvarbu, kurį iš jų (fonas, formatas ar priekinis planas) nurodysite pirmiausia.

Pavyzdžiui, dėl šio PS1 raginimas bus rodomas geltonu pabrauktu tekstu raudona fone:

PS1="\e[41;4;33m[\u@\h \W]$ "

Kad ir kaip gerai atrodytų, šis tinkinimas galios tik dabartinės vartotojo sesijos metu. Jei uždarysite terminalą arba išeisite iš seanso, pakeitimai bus prarasti.

Kad šie pakeitimai būtų nuolatiniai, turėsite pridėti šią eilutę prie ~/.bashrc arba ~/.bash_profile, priklausomai nuo platinimo:

PS1="\e[41;4;33m[\u@\h \W]$ "

Nedvejodami žaiskite su spalvomis, kad surastumėte tai, kas jums labiausiai tinka.

Santrauka

Šiame straipsnyje paaiškinome, kaip tinkinti „Bash“ raginimo spalvą ir turinį. Jei turite klausimų ar pasiūlymų dėl šio įrašo, nedvejodami susisiekite su mumis naudodami toliau pateiktą komentarų formą. Lauksime jūsų žinučių!