Mājas lapa » » Kā pielāgot (un krāsu) jūsu Bash Prompt

    Kā pielāgot (un krāsu) jūsu Bash Prompt

    Lielākā daļa Linux izplatītāju konfigurē Bash uzvedni, lai izskatītos līdzīgi lietotājvārds @ resursdators: katalogs $ . Bet jūs varat konfigurēt Bash uzvedni, lai tajā iekļautu visu, kas jums patīk, un pat izvēlēties sev vēlamās krāsas.

    Šeit aprakstītie soļi tika veikti ar Ubuntu 16.04 LTS. Procesam vajadzētu būt vienādam citos Linux sadalījumos, lai gan noklusējuma Bash uzvedne un iestatījumi .bashrc failā var būt nedaudz atšķirīgi.

    Kur tiek saglabāts pieprasītāja mainīgais

    Jūsu Bash uzvednes konfigurācija tiek saglabāta jūsu lietotāja konta .bashrc failā, kas ir ~ / .bashrc. Tātad, ja jūsu lietotājvārds ir bob, fails ir /home/bob/.bashrc.

    Failu var atvērt, lai apskatītu pašreizējo Bash mainīgo. Mēs izmantosim nano kā mūsu teksta teksta redaktoru, lai gan jūs varētu izmantot arī vi, emacs vai jebkuru citu teksta redaktoru, ar kuru tu esi apmierināts. Atveriet termināli un palaidiet:

    nano ~ / .bashrc

    Ritiniet uz leju līdz PS1 = sadaļā. Pirmais mainīgais izskatās diezgan sarežģīts, jo tas ietver krāsu informāciju, ko izskaidrosim vēlāk. Otrais mainīgais bez krāsu informācijas ir šāds:

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

    Tas joprojām ir nedaudz sarežģīts $ debian_chroot: + ($ debian_chroot) biti. Tie vienkārši norāda, ka Bash jums paziņo, vai izmantojat Debian chroot vidi un parasti netiks rādīts. Ignorējot tos, šeit ir noklusējuma struktūra Bash uzvednes mainīgajam:

    u @ h: w

    u norāda jūsu lietotājvārdu, @ norāda @ zīmi, h norāda resursdatora nosaukumu (datora nosaukumu), : norāda: rakstzīmi, w norāda darba direktoriju un $ norāda $, ja esat parasts lietotāja konts vai #, ja esat saknes. Tātad, jūs to panākat lietotājvārds @ resursdatora nosaukums: working_directory $.

    Lai mainītu Bash uzvedni, jums tikai jāpievieno, jānoņem vai jāpārkārto PS1 mainīgā īpašās rakstzīmes. Bet ir daudz vairāk mainīgo, kurus var izmantot, nekā noklusējuma.

    Atstājiet teksta redaktoru tagad-nano, nospiediet Ctrl + X, lai izietu. Mēs parādīsim, kā eksperimentēt ar mainīgajiem, pirms jūs faktiski rakstāt jaunu .bashrc failā.

    Kā izveidot pielāgotu vaicājuma pieprasījumu

    Jūsu Bash ātruma konfigurācija tiek saglabāta PS1 mainīgajā. Lai saglabātu PS1 mainīgā satura saturu jaunā mainīgā lielumā, palaidiet šādu komandu:

    DEFAULT = $ PS1

    Tagad eksperimentam var iestatīt PS1 mainīgo lielumu. Piemēram, pirmajā rindā šeit būtu iestatīta uzvedne uz pamata lietotāja “user $”, savukārt otrajā uzvedne uzvedīs uz pamata lietotāja “working_directory $” uzvedni.

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

    Ja jūs kādreiz vēlaties atgriezties pie noklusējuma uzvednes, vienkārši palaidiet šādu komandu.

    PS1 = $ DEFAULT

    Bash tiks atjaunots noklusējuma uzvednē, pateicoties tam, ka iepriekš iestatījāt šos noklusējuma iestatījumus. Ņemiet vērā, ka jebkuras izmaiņas, ko veicāt šeit, ir tikai īslaicīgas pašreizējai Bash sesijai, tāpēc jūs vienmēr varat izrakstīties un pierakstīties atpakaļ vai aizvērt un atkal atvērt termināla logu, lai atgrieztos noklusējuma uzvednē. Taču iepriekšminētā rinda ļauj viegli nokļūt noklusējuma Bash uzvednē bez problēmu ar loga izrakstīšanu vai aizvēršanu.

    Mainīgajam var pievienot jebkuras rakstzīmes vai tekstu. Tātad, lai ievadītu noklusējuma uzvedni ar “Hello World”, jūs varētu izmantot:

    PS1 = "Hello World u @ h: w"

    Tagad, kad jums ir pamati, jums tikai jāzina, kas ir visas īpašās rakstzīmes. Iespējams, jūs neredzēsiet daudzus no tiem, bet šeit ir pilns saraksts, kā tas parādās Bash rokasgrāmatā:

    • Zvana raksturs: a
    • Datums, kas ir formātā “Nedēļas dienas mēnesis” (piem., „Tue 26. maijs”): d
    • Formāts tiek nodots strftime (3), un rezultāts tiek ievietots rindā; tukšs formāts rada vietai specifisku laika attēlojumu. Sliedes ir nepieciešamas: D formāts
    • Izbēgšanas raksturs: e
    • Resursdatora nosaukums, līdz pirmajam. h
    • Resursdatora nosaukums: H
    • Darbu skaits, ko pašlaik pārvalda apvalks: j
    • Korpusa gala ierīces nosaukuma nosaukums: l
    • Jauna līnija: n
    • Pārvadājumu atgriešana: r
    • Korpusa nosaukums, $ 0 pamatnosaukums (daļa pēc galīgā slīpsvītra): s
    • Laiks, diennakts HH: MM: SS formāts: \ t
    • Laiks 12 stundu HH: MM: SS formātā: T
    • Laiks, 12 stundu am / pm formātā: @
    • Laiks 24 stundu HH: MM formātā: A
    • Pašreizējā lietotāja lietotājvārds: u
    • Bash versija (piemēram, 2.00): v
    • Bash, version + patchlevel (piem., 2.00.0) atbrīvošana: V
    • Pašreizējais darba katalogs ar $ HOME saīsināts ar tildi (izmanto $ PROMPT_DIRTRIM mainīgo): w
    • $ PWD pamatnosaukums ar $ HOME saīsināts ar tildi: W
    • Šīs komandas vēstures numurs: \ T!
    • Šīs komandas numurs: #
    • Ja efektīvais uid ir 0, #, citādi $: $
    • Raksturs, kura ASCII kods ir astotā vērtība nnn: nnn
    • Backslash: \ T
    • Sāciet nederīgu rakstzīmju secību. To var izmantot, lai ievadītu termināla vadības secību uz pieprasījumu: [
    • Beigt nedrukājamo rakstzīmju secību: \ T

    Tātad, ja vēlaties pievienot datumu un laiku savam Bash uzvednim un nodot darba direktoriju uz komandas otrajā rindā, jūs varētu izmantot šādu konstrukciju:

    PS1 = "[d] u @ n" \ t

    Šeit redzamās kvadrātiekavas vispār nav nepieciešamas, bet palīdz izjaukt lietas vizuāli un padarīt līniju vieglāk lasāmu. Kā mēs iepriekš aplūkojām, jūs varat pievienot jebkādu tekstu vai parastās rakstzīmes jums vēlamajam mainīgajam.

    Ir vēl viens spēcīgs triks, par kuru jums vajadzētu zināt: Jūs varat pievienot komandai jebkuru komandu. Ikreiz, kad parādās uzvedne, Bash veiks komandu un aizpildīs pašreizējo informāciju. Lai to izdarītu, vienkārši iekļaujiet jebkuru komandu, kuru vēlaties darbināt starp diviem ' rakstzīmes. Tas nav apostrofs - tas ir smagais akcents, kas parādās virs tastatūras taustiņa Tab.

    Piemēram, pieņemsim, ka vēlaties, lai uzvednē tiktu apskatīta Linux kodola versija. Jūs varētu izmantot šādu līniju:

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

    Kā citu piemēru, pieņemsim, ka vēlaties skatīt sistēmas darbības laiku un slodzes vidējo rādītāju, kā to parāda uptime komandu. Jūs varētu izmantot sekojošo būvniecību, kas uptime nodrošina savu līniju pirms pārējās uzvednes.

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

    Jūtieties brīvi eksperimentēt ar dažādām īpašām rakstzīmēm un komandām, lai apkopotu savu ideālo komandu uzvedni.

    Kā pievienot krāsas Bash Prompt

    Kad esat izdomājis vēlamo uzvedni, varat pievienot tai krāsas. Tas ir patiešām ļoti vienkāršs, bet tas padara mainīgo izskatu šausmīgi un sarežģīti, ja jūs nesaprotat, ko jūs meklējat.

    Piemēram, noklusējuma krāsu ātruma mainīgais no iepriekšējiem bija:

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

    Vai atkal noņemiet debian_chroot bitus:

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

    Tas patiesībā ir tikai u @ h: w $ mainās no agrāk, bet ar krāsu informāciju. Tiešām, mēs varam sadalīt to vairākās sadaļās:

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

    Pirmā sadaļa ir u @ h bitu, pirms kura ir krāsaina informācija, kas to padara zaļu. Otrais ir : rakstzīme, pirms kura ir krāsaina informācija, kas novērš jebkādas krāsas. Trešais ir w bitu, pirms kura ir krāsaina informācija, kas to padara zilu. Ceturtais ir $ bitu, pirms kura ir krāsaina informācija, kas novērš jebkādas krāsas.

    Kad jūs sapratīsiet, kā veidot savas krāsu zīmes, varat pievienot jebkuras krāsas, kādas vēlaties, lai kādas jūsu Bash sadaļas jums patīk.

    Lūk, kas jums jāzina: jāiekļauj visa krāsu koda informācija starp [  un rakstzīmis. Tagā ir jāsāk ar 033 [ vai e [ lai norādītu Bash, ka tā ir krāsu informācija. Abi 033 [ un e [ darīt to pašu. e [ ir īsāks, lai varētu izmantot ērtāk, bet mēs to izmantosim 033 [ šeit, jo tas atbilst tam, kas tiek izmantots pēc noklusējuma. Marķējuma beigās jums jābeidzas ar m \ t lai norādītu krāsu tagu.

    Laužot to uz leju, šeit ir redzams, kā izskatīsies katra krāsa. Vienīgā atšķirība ir informācija, ko pievienojat COLOR vietā, lai noteiktu faktisko krāsu:

    [333KRĀSAm \ t

    Bash ļauj mainīt priekšplāna teksta krāsu, pievienot tekstam atribūtus, piemēram, “treknrakstu” vai “pasvītrot”, un iestatīt fona krāsu.

    Šeit ir vērtības priekšplāna tekstam:

    • Melns: 30
    • Zils: 34
    • Cyan: 36
    • Zaļa: 32
    • Violeta: 35
    • Sarkans: 31
    • Balta: 37
    • Dzeltens: 33

    Piemēram, tā kā violetais teksts ir krāsu kods 32, izmantojiet to [33332m \ t  par violetu tekstu.

    Varat arī norādīt teksta atribūtu. Šis atribūts jāpievieno pirms krāsu numura, atdalot ar semikolu (;). Teksts ar šiem atribūtiem dažādos termināļa emulatoros izskatīsies atšķirīgi.

    Šeit ir teksta atribūtu vērtības:

    • Normāls teksts: 0
    • Bold vai Light Text: 1 (Tas ir atkarīgs no termināļa emulatora.)
    • Dim teksts: 2
    • Pasvītrots teksts: 4
    • Mirgojošs teksts: 5 (tas nedarbojas lielākajā daļā termināļu emulatoru).
    • Apgrieztais teksts: 7 (tas pārvērš priekšplāna un fona krāsas, lai redzētu melnu tekstu uz balta fona, ja pašreizējais teksts ir balts teksts uz melna fona.)
    • Slēpts teksts: 8

    Jums nav nepieciešams iekļaut parasto teksta atribūtu. Tas tomēr ir noklusējums.

    Piemēram, tā kā sarkanais teksts ir kods 31 un treknrakstā ir kods 1, jūs to izmantosiet [3331; 31m \ t treknrakstā sarkanam tekstam.

    Varat arī norādīt fona krāsu, bet jūs nevarat pievienot atribūtu fona krāsai.

    Šeit ir fona krāsu vērtības:

    • Melns fons: 40
    • Zils fons: 44
    • Ciāna fons: 46
    • Zaļā fona: 42
    • Purpura fons: 45
    • Sarkans fons: 41
    • Baltā fona: 47
    • Dzeltens fons: 43

    Piemēram, tā kā zils fons ir kods 44, [33344m \ t norādītu zilu fonu.

    Varat norādīt gan priekšplāna, gan fona krāsu tagus. Piemēram, 42 apzīmē zaļu fonu un 31 ir sarkans teksts. Tātad, lai noklusējuma ātrumu padarītu par sarkanu tekstu uz zaļā fona, izmantojiet:

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

    Tikai šeit norāda tikai vienu fona krāsu un pēc tam vienu priekšplāna teksta krāsu, kas sākas ar uzvednes sākumu un tiek piemērota visiem teksta tekstam. Tomēr jūs varat norādīt tik daudz krāsu tagus, cik vēlaties mainīgajā krāsā, lai izmainītu dažādās jūsu uzvednes sadaļas.

    Fona un priekšplāna teksta krāsas turpina iet uz priekšu, ja nav norādīts krāsu kods 00, lai izdzēstu krāsu informāciju. Varat arī izmantot šo tagu mainīgā lielumā, lai atiestatītu formatējumu atpakaļ noklusējumā kaut kur jūsu uzvednē. Piemēram, šāda rinda beigtu visas krāsas pirms $ raksturs.

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

    Kā iestatīt jauno noklusējuma vaicājumu

    Kad esat pabeidzis eksperimentēt ar krāsām, pašreizējā sesijā jums vajadzētu būt Bash uzvednei. Bet jūs, iespējams, vēlaties, lai jaunā uzvedne būtu pastāvīga, lai tā tiktu automātiski izmantota visās jūsu Bash sesijās.

    Lai to izdarītu, ir nepieciešams mainīt PS1 mainīgā satura saturu .bashrc failā, kuru mēs skatījām agrāk.

    Atveriet .bashrc failu vēlamajā teksta redaktorā, piemēram:

    nano ~ / .bashrc

    Ritiniet uz leju un atrodiet sadaļu PS1 =. Vienkārši nomainiet noklusējuma mainīgo ar pielāgoto mainīgo. Jūs, iespējams, vēlaties atstāt $ debian_chroot: + ($ debian_chroot)  tikai biti, tomēr tie netiks parādīti, ja vien neesat chroot vidē.

    Ievadiet savu krāsainu PS1 mainīgo zem ja ["$ color_prompt" = jā]; tad līnija. Ievadiet mainīgo bez krāsām zem cits līnija.

    Saglabājiet failu un aizveriet teksta redaktoru. Piemēram, lai saglabātu failu nano, nospiediet taustiņu kombināciju Ctrl + O, nospiediet taustiņu Enter un pēc tam nospiediet Ctrl + X, lai izietu.

    Nākamajā reizē, kad sākat jaunu Bash apvalku, piemēram, pierakstoties terminālī vai atverot jaunu termināļa logu, redzēsiet savu pielāgoto uzvedni.