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ė:
\u:
dabartinio naudotojo naudotojo vardas.\h:
prieglobos serverio pavadinimas iki pirmojo taško (.) visiškai kvalifikuotame domeno pavadinime.\W:
dabartinio darbo katalogo pagrindinis pavadinimas su $HOME sutrumpintai su tilde (~).\$:
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ų!