Kako prilagoditi (i obojiti) vašu koaksijalnu obavijest

Sadržaj:

Kako prilagoditi (i obojiti) vašu koaksijalnu obavijest
Kako prilagoditi (i obojiti) vašu koaksijalnu obavijest

Video: Kako prilagoditi (i obojiti) vašu koaksijalnu obavijest

Video: Kako prilagoditi (i obojiti) vašu koaksijalnu obavijest
Video: How to diagnose your check engine light - YouTube 2024, Travanj
Anonim
Većina Linux distribucija konfigurira Bash prompt da izgleda nešto slično
Većina Linux distribucija konfigurira Bash prompt da izgleda nešto slično

username@hostname:directory$

No, možete konfigurirati Bash prompt da sadrže sve što vam se sviđa, pa čak i odabir boja koje vam se sviđaju.

Primjeri ovdje izvršeni su na Ubuntu 16.04 LTS. Proces bi trebao biti isti na drugim Linux distribucijama, iako zadani Bash prompt i postavke u.bashrc datoteci mogu biti malo drugačiji.

Tamo gdje je pohranjena promjena spremljena

Vaša brza konfiguracija Bash pohranjena je u.bashrc datoteci vašeg korisničkog računa, koja se nalazi na adresi

~/.bashrc

Dakle, ako je vaše korisničko ime bob, datoteka je na

/home/bob/.bashrc

Možete otvoriti datoteku da biste vidjeli trenutnu varijablu Bash. Koristit ćemo nano kao naš primjer urednika teksta, iako biste također mogli koristiti vi, emacs ili bilo koji drugi uređivač teksta koji vam odgovara. Otvorite Terminal i pokrenite:

nano ~/.bashrc

Pomaknite se prema dolje do
Pomaknite se prema dolje do

PS1=

odjeljak. Prva varijabla izgleda prilično komplicirano jer uključuje informacije o boji - to ćemo kasnije objasniti. Druga varijabla, bez podataka o boji, glasi kako slijedi:

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

Ovo je još uvijek malo komplicirano zbog
Ovo je još uvijek malo komplicirano zbog

${debian_chroot:+($debian_chroot)}

komadići. Upravo to reći Bashu da vas obavijesti ako koristite Debian chroot okruženje i normalno se neće prikazati. Ako ih ignoriraš, ovdje je zadana struktura varijable upita Bash:

u@h:w$

u

označava vaše korisničko ime,

@

označava znak @,

h

označava naziv hosta (naziv računala),

:

označava: znak,

w

označava radni imenik i

$

označava $ ako ste normalan korisnički račun ili # ako ste korijen. Dakle, stavljajući to sve zajedno, dobivate

username@hostname:working_directory$

Da biste promijenili svoj Bash naredbu, samo trebate dodati, ukloniti ili preurediti posebne znakove u varijabli PS1. No postoji mnogo više varijabli koje možete koristiti od onih zadanih.

Sada napustite uređivač teksta - u nano, pritisnite Ctrl + X da biste izašli. Pokazat ćemo vam kako eksperimentirati s varijablama prije nego što napišete novu u svoju.bashrc datoteku.

Kako stvoriti prilagođenu lozinku za brzinu

Vaša Bash promptna konfiguracija pohranjena je u PS1 varijabli. Za spremanje sadržaja PS1 varijable u novu varijablu, pokrenite sljedeću naredbu:

DEFAULT=$PS1

Sada možete postaviti varijablu PS1 na različite vrijednosti za eksperimentiranje. Na primjer, prvi redak ovdje bi postavio vaš upit na osnovni "user $" prompt, dok će drugi postaviti vaš upit na osnovni upit "user: work_directory $".

PS1='u$ ' PS1='u:w$ '

Ako se ikad želite vratiti na zadani upit, pokrenite sljedeću naredbu.

PS1=$DEFAULT

Bash će biti vraćen na zadani upit zahvaljujući činjenici da ste prethodno spremili te zadane postavke. Imajte na umu da su sve promjene koje napravite ovdje samo privremene za trenutačnu sekciju Bash pa se uvijek možete odjaviti i ponovno se prijaviti ili zatvoriti i ponovo otvoriti prozor terminala da biste se vratili na zadani upit. No gornja linija omogućuje da se lako vratite na zadani Bash prompt bez gnjavaže od potpisivanja ili zatvaranja prozora.

Varijablu možete dodati bilo koji znak ili tekst. Dakle, da biste prefiksirali zadani upit s "Hello World", mogli biste upotrijebiti:
Varijablu možete dodati bilo koji znak ili tekst. Dakle, da biste prefiksirali zadani upit s "Hello World", mogli biste upotrijebiti:

PS1='Hello World u@h:w$ '

Sada kada imate osnovne stvari, samo trebate znati o čemu su svi posebni likovi. Vjerojatno vam neće biti stalo do mnogih od njih, ali ovdje je popis koji se pojavljuje u priručniku Bash:
Sada kada imate osnovne stvari, samo trebate znati o čemu su svi posebni likovi. Vjerojatno vam neće biti stalo do mnogih od njih, ali ovdje je popis koji se pojavljuje u priručniku Bash:
  • Zvono zvono:

    a

  • Datum, u formatu "datum dan u tjednu dana" (npr., "Utorak 26. svibnja"):

    d

  • Format se prosljeđuje na strftime (3) i rezultat se umetne u naredbeni redak; prazni format rezultira vremenskom zastupljenošću specifičnom za lokalno razdoblje. Zahtjevi su potrebni:

    D{format}

  • Izbjegavajući znak:

    e

  • Naziv hosta, do prvog ".":

    h

  • Naziv hosta:

    H

  • Broj poslova kojima trenutno upravlja školjka:

    j

  • Naziv baze naziva terminalnog uređaja u ljusci:

    l

  • Nova linija:
  • Vraćanje vozača:
  • Naziv ljuske, naziv baze od $ 0 (dio koji slijedi konačni udarac):

    s

  • Vrijeme, u 24-satnom HH: MM: SS formatu:

  • Vrijeme, u 12-satnom HH: MM: SS formatu:

    T

  • Vrijeme, u 12-satnom am / pm obliku:

    @

  • Vrijeme, u 24-satnom HH: MM formatu:

    A

  • Korisničko ime trenutnog korisnika:

    u

  • Verzija paketa (npr., 2.00):

    v

  • Oslobađanje Bash, inačice + patchlevel (npr., 2.00.0):

    V

  • Trenutni radni imenik, uz $ HOME skraćeno s tildom (koristi varijablu $ PROMPT_DIRTRIM):

    w

  • Ime baze $ PWD, s $ HOME skraćeno s tildom:

    W

  • Povijest broja ove naredbe:

    !

  • Naredbeni broj ove naredbe:

    #

  • Ako je efektivni uid 0, #, inače $:

    $

  • Znak čiji ASCII kod je oktalna vrijednost nnn:

    nn

  • Pozadina:

  • Započnite s nizom znakova koji ne ispisuju. To se može upotrijebiti za ugradnju slijeda kontrole terminala u upit:

    [

  • Završite niz znakova koji nisu ispisani:

    ]

Dakle, ako želite dodati datum i vrijeme u Bash prompt i staviti radni direktorij na naredbu na drugom retku, možete koristiti sljedeću konstrukciju:

PS1='[d ] u@h

w$ '

Kvadratne zagrade ovdje nisu nužne, ali olakšavaju slaganje stvari vizualno i olakšavaju čitanje crte. Kao što smo ranije obuhvatili, možete dodati bilo koji tekst ili normalne znakove varijabli koju želite, pa slobodno upotrijebite sve što vam radi.

Postoji još jedan snažniji trik koji biste trebali znati o: Možete dodati izlaz bilo koje naredbe na upit. Kad god se pojavi upit, Bash će pokrenuti naredbu i popuniti trenutne informacije. Da biste to učinili, uključite samo naredbu koju želite pokrenuti između dvije
Postoji još jedan snažniji trik koji biste trebali znati o: Možete dodati izlaz bilo koje naredbe na upit. Kad god se pojavi upit, Bash će pokrenuti naredbu i popuniti trenutne informacije. Da biste to učinili, uključite samo naredbu koju želite pokrenuti između dvije

`

znakova. To nije apostrof - to je težak naglasak koji se pojavljuje iznad tipke Tab na vašoj tipkovnici.

Na primjer, recimo da želite vidjeti verziju Linux kernela u brzini. Možete upotrijebiti sljedeću retku:

PS1='u@h on `uname -s -r` w$ '

Kao još jedan primjer, recimo da želite pregledati produženje rada sustava i prosječno učitavanje, kako je prikazano u izborniku
Kao još jedan primjer, recimo da želite pregledati produženje rada sustava i prosječno učitavanje, kako je prikazano u izborniku

uptime

naredba. Možete upotrijebiti sljedeću konstrukciju, koja stavlja vrijeme upotrebe na vlastitu liniju prije ostatka upita.

PS1='(`uptime`)

u@h:w$ '

Slobodno eksperimentirajte s različitim posebnim znakovima i naredbama za sastavljanje idealnog naredbenog retka.
Slobodno eksperimentirajte s različitim posebnim znakovima i naredbama za sastavljanje idealnog naredbenog retka.

Kako dodati boje vašem upozorenju

Nakon što ste shvatili svoj željeni upit, možete dodati boje na njega. To je zapravo vrlo jednostavno, ali čini promjenu izgleda strašno neuredno i komplicirano ako ne razumijete ono što gledate.

Na primjer, zadana promjena brzine boje iz prethodnog razdoblja bila je:

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

Ili, uklanjanje debian_chroot bita još jednom:

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

Ovo je zapravo samo
Ovo je zapravo samo

u@h:w$

varijabla iz ranijih, ali s podacima o boji. Doista, možemo ga razbiti u nekoliko dijelova:

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

Prvi dio je

u@h

bit, prethodi podatci o boji koji ga čine zelenim. Drugi je

:

znak koji prethodi informacijama o boji koja uklanja bojanje. Treći je

w

bit, prethodi podatci o boji koji ga čine plavim. Četvrti je

$

bit, prethodio je informacijama o boji koja uklanja bojanje.

Kada shvatite kako izraditi vlastite vlastite oznake u boji, možete dodati boje koje vam se sviđaju na sve odjeljke vašeg Bash-a koji vam se sviđaju.
Kada shvatite kako izraditi vlastite vlastite oznake u boji, možete dodati boje koje vam se sviđaju na sve odjeljke vašeg Bash-a koji vam se sviđaju.

Evo što trebate znati: morate uključiti cijeli podatak o kodu boja između

[

i

] character

a. Unutar oznake morate početi s bilo kojim

33[

ili

e[

da biste naznačili Bashu da su to informacije o boji. Oba

33[

i

e[

učiniti isto.

e[

je kraći tako da bi moglo biti prikladnije za upotrebu, ali koristit ćemo

33[

ovdje kao što odgovara onome što je zadano. Na kraju oznake morate završiti

m

za označavanje kraja oznake u boji.

Razbijanje toga dolje, evo što će izgledati svaka oznaka u boji. Jedina razlika je informacija koju dodate umjesto COLOR kako biste definirali stvarnu boju:

[33[ COLORm]

Bash omogućuje promjenu boje prvog teksta, dodavanje atributa poput "podebljanog" ili "podcrtavanje" u tekst i postavljanje boje pozadine.

Evo vrijednosti za prvi tekst:

  • Crno: 30
  • Plava: 34
  • Cijan: 36
  • Zeleno: 32
  • Ljubičasta: 35
  • Crveno: 31
  • Bijela: 37
  • Žuta: 33

Na primjer, budući da je ljubičasti tekst kod boje 32, upotrijebite

[33[ 32m]

za ljubičasti tekst.

Također možete odrediti atribut za tekst. Taj se atribut mora dodati prije broja boja, odvojenih točkom sa zarezom (;). Tekst s tim atributima izgledat će različit u različitim emulatorima terminala.
Također možete odrediti atribut za tekst. Taj se atribut mora dodati prije broja boja, odvojenih točkom sa zarezom (;). Tekst s tim atributima izgledat će različit u različitim emulatorima terminala.

Evo vrijednosti za tekst atribute:

  • Normalni tekst: 0
  • Bold ili Light Text: 1 (Ovisi o terminalu emulatora.)
  • Dim tekst: 2
  • Podcrtani tekst: 4
  • Blinking Text: 5 (Ovo ne radi u većini emulatora terminala.)
  • Preokrenuti tekst: 7 (To invertira boju prednjih i pozadinskih, tako da ćete vidjeti crni tekst na bijeloj pozadini ako je trenutačni tekst bijeli tekst na crnoj pozadini.)
  • Skriveni tekst: 8

Zapravo ne trebate uključiti uobičajeni atribut teksta. Ionako je zadana.

Na primjer, budući da crveni tekst je kôd 31, a podebljani tekst kôd 1, upotrijebite

[33[ 1;31m]

za podebljani crveni tekst.

Također možete odrediti boju pozadine, ali ne možete dodati atribut u pozadinsku boju.
Također možete odrediti boju pozadine, ali ne možete dodati atribut u pozadinsku boju.

Evo vrijednosti za pozadinske boje:

  • Crna pozadina: 40
  • Plava pozadina: 44
  • Cijana pozadina: 46
  • Zelena pozadina: 42
  • Ljubičasta pozadina: 45
  • Crvena pozadina: 41
  • Bijela pozadina: 47
  • Žuta pozadina: 43

Na primjer, budući da je plava pozadina kod 44,

[33[ 44m]

odrediti plavu pozadinu.

Možete navesti oznake u boji u prednjem planu i pozadini. Na primjer, 42 predstavlja zelenu pozadinu i 31 predstavlja crveni tekst. Stoga, da biste postavili zadani redak na crvenom tekstu na zelenoj podlozi, upotrijebite:
Možete navesti oznake u boji u prednjem planu i pozadini. Na primjer, 42 predstavlja zelenu pozadinu i 31 predstavlja crveni tekst. Stoga, da biste postavili zadani redak na crvenom tekstu na zelenoj podlozi, upotrijebite:

PS1='[33[ 42m][33[ 31m]u@h:w$ '

Navodimo samo jednu boju pozadine, a zatim jednu boju teksta u prvom planu, koja počinje na početku upita i primjenjuje se na cijeli tekst u brzini. Međutim, možete odrediti koliko god oznaka u boji želite u varijabli bojati različite odjeljke brzine, koliko god želite.

Pozadina i boje teksta u prvom planu prolaze pokraj obrasca osim ako ne navedete kod boje 00 da brišete informacije o boji. Tu oznaku možete upotrijebiti i unutar varijable da biste ponovno postavili oblikovanje natrag na zadano negdje u brzini. Na primjer, sljedeći red završava svu boju prije
Pozadina i boje teksta u prvom planu prolaze pokraj obrasca osim ako ne navedete kod boje 00 da brišete informacije o boji. Tu oznaku možete upotrijebiti i unutar varijable da biste ponovno postavili oblikovanje natrag na zadano negdje u brzini. Na primjer, sljedeći red završava svu boju prije

$

lik.

PS1='[33[ 42m][33[ 31m]u@h:w\[33[ 00m]$ '

Image
Image

Kako postaviti novi zadani propust

Kada završite s eksperimentiranjem s bojama, trebali biste imati upozorenje o slanju koji vam se sviđa u trenutačnoj sesiji. Ali vjerojatno želite napraviti taj novi redak trajno pa se automatski koristi u svim vašim Bash sesijama.

Da biste to učinili, samo trebate promijeniti sadržaj PS1 varijable u.bashrc datoteci, koju smo ranije pogledali.

Otvorite.bashrc datoteku u željenom uređivaču teksta, kao što je to:

nano ~/.bashrc

Pomaknite se prema dolje i pronađite PS1 = odjeljak.Zamijenite zadanu varijablu samo pomoću prilagođene varijable. Vjerojatno ćete htjeti napustiti

${debian_chroot:+($debian_chroot)}

Bitovi sami, međutim, neće se pojaviti ako uopće niste u okruženju chroot.

Unesite svoju varijablu u boji PS1 ispod

if [ '$color_prompt' = yes ]; then

crta. Unesite varijablu bez boje ispod

else

crta.

Spremite datoteku i zatvorite uređivač teksta. Na primjer, za spremanje datoteke u nano, pritisnite Ctrl + O, pritisnite Enter, a zatim pritisnite Ctrl + X za izlaz.
Spremite datoteku i zatvorite uređivač teksta. Na primjer, za spremanje datoteke u nano, pritisnite Ctrl + O, pritisnite Enter, a zatim pritisnite Ctrl + X za izlaz.

Sljedeći put kada pokrenete novu Bash ljusku - na primjer, prijavom na terminal ili otvaranjem novog prozora terminala - vidjet ćete prilagođeni upit.

Preporučeni: