Koduleht » kuidas » Kuidas kohandada (ja värvida) oma Bash Prompt

    Kuidas kohandada (ja värvida) oma Bash Prompt

    Enamik Linuxi distributsioone konfigureerib Bash-i käsu, et vaadata midagi sellist kasutajanimi @ hostinimi: kataloog $ . Aga te saate konfigureerida Bash-i käsu, et see sisaldaks iganes, mida soovite, ja valida isegi mis tahes värvid.

    Siin toodud näite sammud viidi läbi Ubuntu 16.04 LTS-il. Protsess peaks teiste Linuxi levituste puhul olema sama, kuigi vaikimisi Bash-käsk ja .bashrc-faili sätted võivad olla veidi erinevad.

    Kui koha muutuja on salvestatud

    Teie Bash-käsu konfiguratsioon on salvestatud teie kasutajakonto faili .bashrc, mis on aadressil ~ / .bashrc. Niisiis, kui teie kasutajanimi on bob, on fail /home/bob/.bashrc.

    Faili saab avada praeguse Bash-muutuja vaatamiseks. Me kasutame nano kui meie näite tekstiredaktorit, kuigi sa võiksid kasutada ka vi, emacsit või mõnda muud teksti redaktorit. Avage terminal ja käivitage:

    nano ~ / .bashrc

    Kerige alla PS1 = lõik. Esimene muutuja näeb välja üsna keeruliseks, sest see sisaldab värviteavet - selgitame seda hiljem. Teine muutuja, ilma värvita, on järgmine:

    $ debian_chroot: + ($ debian_chroot) u @ h: w

    See on ikka veel veidi keeruline $ debian_chroot: + ($ debian_chroot) bitti. Need lihtsalt ütlevad Bashile, et teavitada teid sellest, kas kasutate Debiani chroot-keskkonda ja tavaliselt seda ei näidata. Nende ignoreerimine on siin Bash-käsu muutuja vaikekonstruktsioon:

    u @ h: w

    u näitab teie kasutajanime, @ näitab tähist @, h näitab hostinime (arvuti nimi), : näitab: tähemärki, w näitab töö kataloogi ja $ tähistab $, kui olete tavaline kasutajakonto või # kui oled juur. Nii et sa saad selle koos kokku kasutajanimi @ hostinimi: working_directory $.

    Bash-teate muutmiseks peate lihtsalt lisama, eemaldama või ümber kujundama PS1 muutuja erimärke. Kuid on palju rohkem muutujaid, mida saate kasutada kui vaikimisi.

    Jäta tekstiredaktor nüüd-nano, vajutage Ctrl + X väljumiseks. Näitame teile, kuidas muutujaid katsetada enne, kui uus .bashrc-faili kirjutad.

    Kuidas luua kohandatud Bash Prompt

    Teie Bash-käsu konfiguratsioon on salvestatud PS1 muutuja. PS1 muutuja sisu salvestamiseks uude muutujasse käivitage järgmine käsk:

    DEFAULT = $ PS1

    Nüüd saate seadistada PS1 muutuja erinevatele väärtustele. Näiteks seaks siin esimene rida oma käsu põhilisele "kasutaja $" -lehele, samas kui teine ​​seaks teie viipu "kasutaja: working_directory $" baasile.

    PS1 = "u $" PS1 = "u: w"

    Kui soovite kunagi tagasi pöörduda oma vaikeküsimuseni, käivitage lihtsalt järgmine käsk.

    PS1 = $ DEFAULT

    Bash taastatakse vaikeseadeks tänu sellele, et olete need vaikesätted varem salvestanud. Pange tähele, et kõik siin tehtud muudatused on praeguse Bash-seansi jaoks ainult ajutised, nii et saate alati vaikimisi kiireks naasmiseks naasta ja logida tagasi või sulgeda ja avada terminaliaken. Kuid ülaltoodud rida võimaldab hõlpsasti tagasi pöörduda oma vaikimisi Bash-i poole ilma probleemideta akna välja logimisel või sulgemisel.

    Muutujale saate lisada märke või teksti. Niisiis, et vaikimisi kuvada "Hello World", võite kasutada järgmist:

    PS1 = "Hello World u @ h: w"

    Nüüd, kui sul on põhitõed, peate lihtsalt teadma, millised on kõik erimärgid. Sa ilmselt ei hooli paljudest neist, kuid siin on täielik nimekiri, nagu see on Bashi käsiraamatus:

    • Kella märk: a
    • Kuupäev “Nädalapäevakuupäeva” vormingus (nt “Tue 26. mai”): d
    • Formaat edastatakse strftime'ile (3) ja tulemus sisestatakse kiire stringini; tühi formaat toob kaasa kohaliku ajaga esindamise. Traksid on vajalikud: D formaat
    • Põgenemise märk: e
    • Hosti nimi, kuni esimese "." h
    • Hosti nimi: H
    • Kesta hallatavate tööde arv: j
    • Kesta terminali seadme nime nimi: l
    • Uus rida: n
    • Veo tagastamine: r
    • Kesta nimi, $ 0 baasnimi (viimane kaldkriips): s
    • Aeg, 24-tunnises HH: MM: SS-vormingus: \ t
    • Aeg, 12-tunnises HH: MM: SS-vormingus: T
    • Aeg, 12-tunnise / pm-vormingus: @
    • Aeg, 24-tunnises HH: MM-vormingus: A
    • Praeguse kasutaja kasutajanimi: u
    • Bashi versioon (nt 2.00): v
    • Bashi, versiooni + patchleveli (nt 2.00.0) vabastamine: V
    • Praegune töö kataloog, kus $ HOME lühendatakse tildega (kasutab muutuja $ PROMPT_DIRTRIM): w
    • $ PWD põhinimi, kus $ HOME lühendati tildega: W
    • Selle käsu ajalugu: \ T!
    • Selle käsu number: #
    • Kui efektiivne uid on 0, #, muidu $: $
    • Märk, mille ASCII kood on oktaalväärtus nnn: nnn
    • Tagakülg: \ T
    • Alustage mitteprintivate märkide järjestust. Seda saab kasutada terminali juhtimisjärjestuse sisestamiseks päringusse: [
    • Lõpetage mitteprintivate märkide jada: \ T

    Niisiis, kui soovisite lisada kuupäeva ja kellaaja oma Bash-väljale ja panna teisele reale käsk kataloogi, siis võiks kasutada järgmist ehitust:

    PS1 = "[d] n" \ t

    Siia kuuluvad ruuduklambrid ei ole üldse vajalikud, kuid aitavad visuaalselt lõhkuda ja muuta liini kergemini loetavaks. Nagu me eelnevalt käsitlesime, saate lisada soovitud muutujale mis tahes teksti või tavalisi märke, nii et võite vabalt kasutada mis tahes tööd.

    Seal on veel üks võimas trikk, mida peaksite teadma: saate lisada käsu mis tahes käsu väljundi. Kui kuvatakse teade, käivitab Bash käsu ja täidab praeguse teabe. Selleks sisestage lihtsalt ükskõik milline käsk, mida soovite kahe vahel käitada ' tähemärki. See ei ole apostroof - see on tõsine aktsent, mis ilmub klaviatuuri klahvi Tab.

    Oletame näiteks, et soovite vaadata Linuxi kerneli versiooni. Võite kasutada järgmist rida:

    PS1 = "u @ h" uname -s -r "w \ t

    Teise näitena tahame öelda, et soovite vaadata süsteemi tööaja ja koormuse keskmist, nagu kuvab uptime käsk. Sa võid kasutada järgmist konstruktsiooni, mis paneb uptime oma rida enne ülejäänud palve.

    PS1 = "(" uptime ") n u @ h: w $"

    Oma ideaalse käsurea kogumiseks proovige proovida erinevaid erimärke ja käske.

    Kuidas lisada värve oma Bash Promptile

    Kui olete oma eelistatud teate välja selgitanud, saate sellele värve lisada. See on tegelikult väga lihtne, kuid see muudab muutujat kohutavalt ja keeruliseks, kui te ei tea, mida te vaatate.

    Näiteks oli varasem värviärivärv varieeruv:

    $ debian_chroot: + ($ debian_chroot) [033 [01; 32m] u @ h [033 [00m]: [033 [01; 34m] w [033] [00m] $

    Või eemaldage uuesti debian_chroot-bitid:

    [033 [01; 32 m] u @ h [033 [00m]: [033 [01; 34 m] w [033]

    See on tegelikult just see u @ h: w varieerub varasemast, kuid värvilise teabega. Tõepoolest, me saame selle osadeks jaotada:

    [033 [01; 32m]u @ h [033 [00m]: [033 [01; 34m]w [033 [00m]$

    Esimene osa on u @ h natuke, millele eelneb värviteave, mis muudab selle roheliseks. Teine on : tähemärki, millele eelneb värviteave, mis eemaldab kõik värvid. Kolmas on w natuke, millele eelneb värviteave, mis muudab selle siniseks. Neljas on $ natuke, millele eelneb värviteave, mis eemaldab kõik värvid.

    Kui olete aru saanud, kuidas oma värvi silte üles ehitada, saate lisada mis tahes värvi, mida soovid, mis tahes teie Bashi osas, mida soovid.

    Siin on vaja teada: peate lisama kogu värvikoodi teabe [  ja iseloomus. Sildi sees peate kõigepealt alustama 033 [ või e [ Bashile, et see on värvi teave. Mõlemad 033 [ ja e [ teha sama. e [ on lühem, seega võib olla mugavam kasutada, kuid me kasutame seda 033 [ siin, kuna see vastab vaikimisi kasutatavale. Sildi lõpus peate lõpetama m \ t märkida värvimärgi lõpp.

    Selle maha murdmine, siin näeb välja iga värvimärgis. Ainus erinevus on tegeliku värvi määratlemiseks COLORi asemel lisatav teave:

    [333VÄRVUSm \ t

    Bash võimaldab muuta esiplaaniteksti värvi, lisada tekstile atribuute, nagu näiteks “rasvane” või “allajoon”, ja seada taustavärvi.

    Siin on esiplaani teksti väärtused:

    • Must: 30
    • Sinine: 34
    • Cyan: 36
    • Roheline: 32
    • Lilla: 35
    • Punane: 31
    • Valge: 37
    • Kollane: 33

    Näiteks, kuna lilla tekst on värvikood 32, kasutaksite seda [33332m \ t  lilla teksti jaoks.

    Teksti jaoks on võimalik määrata ka atribuut. See atribuut tuleb lisada enne värvinumbri eraldamist semikooloniga (;). Nende atribuutidega tekst on erinevates terminali emulaatorites erinev.

    Siin on teksti atribuutide väärtused:

    • Tavaline tekst: 0
    • Rasvane või kerge tekst: 1 (See sõltub terminali emulaatorist.)
    • Dim Tekst: 2
    • Allakriipsutatud tekst: 4
    • Vilkuv tekst: 5 (see ei toimi enamikus terminalimulaatorites.)
    • Pööratud tekst: 7 (see muudab esiplaani ja taustavärvi ümber, seega näete musta teksti mustal taustal, kui praegune tekst on mustal taustal valge tekst.)
    • Varjatud tekst: 8

    Tegelikult ei pea te normaalset teksti atribuuti lisama. See on ikkagi vaikimisi.

    Näiteks, kuna punane tekst on kood 31 ja rasvases kirjas on kood 1, kasutaksite seda [3331; 31m \ t punase teksti puhul.

    Võite määrata ka taustavärvi, kuid taustavärvile ei saa atribuuti lisada.

    Siin on taustavärvide väärtused:

    • Must taust: 40
    • Sinine taust: 44
    • Tsüaaniline taust: 46
    • Roheline taust: 42
    • Lilla taust: 45
    • Punane taust: 41
    • Valge taust: 47
    • Kollane taust: 43

    Näiteks, kuna sinine taust on kood 44, [33344m \ t täpsustaks sinise tausta.

    Saate määrata nii esi- kui ka taustavärvi sildid. Näiteks 42 tähistab rohelist tausta ja 31 tähistab punast teksti. Seega, kui soovite vaikimisi kiirelt muuta rohelisel taustal punase teksti, kasutage:

    PS1 = "\ t42m] [033 [31m] u @ h: w "

    Me täpsustame siin ainult ühe taustavärvi ja seejärel ühe esiplaani teksti värvi, mis algab teate alguses ja rakendub kõigile tekstis olevale tekstile. Siiski saate määrata nii palju värvi sildid, kui soovite muutujana oma värvi erinevate osade värvimiseks soovida.

    Taust- ja esiplaaniteksti värvid jäävad edasi, kui te ei määra värvikoodi 00 värviteavet. Selle sildi abil saate ka muutujana vormindada, et taastada oma vaikeseaded vaikimisi. Näiteks lõpetaks järgmine rida värvuse enne $ iseloomu.

    PS1 = "\ t42m] [033 [31m] u h: [033]00m] \ t

    Kuidas määrata oma uus vaikenõue

    Kui olete värvide katsetamisega lõpetanud, peaksite praegusel seansil olema meeldivahelik. Kuid te ilmselt tahate seda uut kiiret püsivalt teha, nii et seda kasutatakse automaatselt kõigis teie Bash-seansides.

    Selleks peate lihtsalt muutma PS1 muutuja sisu .bashrc failis, mida me vaatasime varem.

    Avage .bashrc fail oma eelistatud tekstiredaktoris, näiteks:

    nano ~ / .bashrc

    Kerige alla ja leidke sektsioon PS1 =. Vahetage vaikimisi muutuja oma kohandatud muutujaga. Sa ilmselt tahad lahkuda $ debian_chroot: + ($ debian_chroot)  bitti üksi, aga neid ei kuvata, välja arvatud juhul, kui olete chroot-keskkonnas.

    Sisestage värviline PS1 muutuja all kui ["$ color_prompt" = jah]; siis rida. Sisestage muutuja ilma värvideta muidu rida.

    Salvestage fail ja sulgege tekstiredaktor. Näiteks faili salvestamiseks nano, vajutage Ctrl + O, vajutage Enter ja seejärel vajutage Ctrl + X, et väljuda.

    Järgmine kord, kui käivitate uue Bashi koori, näiteks logides sisse terminalis või avades uue terminali akna, näete oma kohandatud palvet.