Miten muokata (ja värittää) Bash-kehotteen

Sisällysluettelo:

Miten muokata (ja värittää) Bash-kehotteen
Miten muokata (ja värittää) Bash-kehotteen

Video: Miten muokata (ja värittää) Bash-kehotteen

Video: Miten muokata (ja värittää) Bash-kehotteen
Video: Kuinka tarkistaa moottorin jäähdytystuuletin | AUTODOCIN vinkit - YouTube 2024, Huhtikuu
Anonim
Useimmat Linux-jakelut määrittävät Bash-kehotteen näyttämään jotain
Useimmat Linux-jakelut määrittävät Bash-kehotteen näyttämään jotain

username@hostname:directory$

. Voit kuitenkin määrittää Bash-kehotteen sisällään haluamasi sisällön ja jopa valita haluamasi värin.

Esimerkkitaulut suoritettiin Ubuntu 16.04 LTS: ssä. Prosessin pitäisi olla sama muissa Linux-jakeluissa, mutta oletusarvoinen Bash-kehote ja asetukset.bashrc-tiedostossa voivat olla hieman erilaiset.

Milloin Prompt-muuttuja tallennetaan

Bash-kehotekokoonpanosi tallennetaan käyttäjän tilin.bashrc-tiedostoon, joka on osoitteessa

~/.bashrc

. Joten, jos käyttäjätunnuksesi on bob, tiedosto on päällä

/home/bob/.bashrc

Voit avata tiedoston tarkastellaksesi nykyistä Bash-muuttujaa. Käytämme nanoa esimerkkinä tekstieditorina, vaikka voisitte myös käyttää vi, emacsia tai muuta tekstieditoria, johon olet tyytyväinen. Avaa terminaali ja aja:

nano ~/.bashrc

Vieritä alaspäin kohtaan
Vieritä alaspäin kohtaan

PS1=

osiossa. Ensimmäinen muuttuja näyttää varsin monimutkaiselta, koska se sisältää väritietoja - selitämme myöhemmin. Toinen muuttuja, ilman väritietoja, kuuluu seuraavasti:

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

Tämä on vielä hieman monimutkainen
Tämä on vielä hieman monimutkainen

${debian_chroot:+($debian_chroot)}

bittiä. Nämä kertovat vain Bashille, että tiedät, käytätkö Debianin chroot-ympäristöä, ja sitä ei yleensä näytetä. Ohita ne, tässä on Bash-kehotteen muuttujien oletusrakenne:

u@h:w$

u

ilmoittaa käyttäjänimesi,

@

osoittaa @ -merkin,

h

osoittaa koneen nimen (tietokoneen nimen),

:

merkitsee: merkki,

w

osoittaa työhakemiston ja

$

tarkoittaa $, jos olet normaali käyttäjätili tai # jos olet juuri. Joten, että kaikki yhdessä, saat

username@hostname:working_directory$

Jos haluat vaihtaa Bash-kehotteen, sinun on lisättävä, poistettava tai järjestettävä uudelleen erikoismerkit PS1-muuttuessa. Mutta monia muita muuttujia voit käyttää kuin oletusarvot.

Jätä tekstinsyöttö nyt-nanoon, paina Ctrl + X poistuaksesi. Näytämme sinulle, miten kokeilla muuttujia ennen kuin kirjoitat uuden.bashrc-tiedostoosi.

Kuinka luoda mukautetun linkkipaketin

Bash-kehotekokoonpano tallennetaan PS1-muuttujalle. Jos haluat tallentaa PS1-muuttujan sisällön uuteen muuttujaan, suorita seuraava komento:

DEFAULT=$PS1

Voit nyt asettaa PS1-muuttujan eri arvoihin kokeilemaan. Esimerkiksi ensimmäinen rivi tässä asetettaisiin kehotukseksi yksinkertaiseen "user $" -ohjelmaan, kun taas toinen määrittäisi kehotuksen perustason "user: working_directory $" -pyyntöön.

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

Jos haluat aina palauttaa oletusviestin, suorita seuraava komento.

PS1=$DEFAULT

Bash palautetaan oletusarvoksi, koska olet tallentanut nämä oletusasetukset aiemmin. Huomaa, että kaikki tekemäsi muutokset ovat vain tilapäisiä nykyiselle Bash-istunnolle, joten voit aina kirjautua ulos ja kirjautua sisään tai sulkea ja avata pääteikkunan uudelleen päästäksesi takaisin oletuspyyntöön. Mutta yllä oleva viiva mahdollistaa helposti palautuksen oletusarvoiseen Bash-kehotteeseen ilman, että on vaikeaa allekirjoittaa tai sulkea ikkunaa.

Voit lisätä muuttuviin merkkejä tai tekstejä. Joten etukäteen oletusarvoisen kehotteen "Hello World" avulla voit käyttää:
Voit lisätä muuttuviin merkkejä tai tekstejä. Joten etukäteen oletusarvoisen kehotteen "Hello World" avulla voit käyttää:

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

Nyt kun olet saanut perusteet alas, sinun tarvitsee vain tietää, mitä ovat kaikki erikoismerkit. Et todennäköisesti välitä monista näistä, mutta tässä on koko luettelo, kuten se näkyy Bash-käsikirjassa:
Nyt kun olet saanut perusteet alas, sinun tarvitsee vain tietää, mitä ovat kaikki erikoismerkit. Et todennäköisesti välitä monista näistä, mutta tässä on koko luettelo, kuten se näkyy Bash-käsikirjassa:
  • Kellohahmo:

    a

  • Päivämäärä "Viikonpäivän kuukauden päivämäärä" -muodossa (esim. "Toukokuu 26"):

    d

  • Muoto välitetään strftime (3): lle ja tulos lisätään nopeasti merkkijonoon; tyhjä muoto muodostaa paikalliskohtaisen aikatiedon. Tarvikkeita vaaditaan:

    D{format}

  • Poistumerkki:

    e

  • Isäntänimi, ensimmäiseen "." Asti:

    h

  • Palvelimen nimi:

    H

  • Shellin hallinnoimien töiden määrä:

    j

  • Shellin päätelaitteen nimen nimi:

    l

  • Uusi rivi:
  • Kuljetuksen palautus:
  • Kuoren nimi, jonka nimi on $ 0 (lopullinen viiva) jälkeen:

    s

  • Aika 24 tunnin HH: MM: SS-muodossa:

  • Aika 12 tunnin HH: MM: SS-muodossa:

    T

  • Aika, 12 tunnin kello / pvä-muodossa:

    @

  • Aika 24 tunnin HH: MM-muodossa:

    A

  • Nykyisen käyttäjän käyttäjätunnus:

    u

  • Bashin versio (esim. 2.00):

    v

  • Bashin, version + patchlevelin (esim. 2.00.0) julkaisu:

    V

  • Nykyinen työhakemisto, jossa $ HOME on lyhennetty tildellä (käyttää $ PROMPT_DIRTRIM -muuttujaa):

    w

  • PWD: n alinimi, jossa $ HOME on lyhennetty tildellä:

    W

  • Tämän komennon historian numero:

    !

  • Tämän komennon komentotunnus:

    #

  • Jos tehokas uid on 0, #, muuten $:

    $

  • Merkki, jonka ASCII-koodi on oktaalinen arvo nnn:

    nn

  • Vastapeli:

  • Aloita muutamattomien merkkien sarja. Tätä voitaisiin käyttää upotettaessa terminaalin ohjaussekvenssi kyselyyn:

    [

  • Lopeta ei-tulostusmerkkien sarja:

    ]

Joten, jos haluat lisätä päivämäärän ja ajan Bash-kehotteeseen ja sijoittaa työhakemiston toisen rivin komentoon, voit käyttää seuraavaa rakennetta:

PS1='[d ] u@h

w$ '

Neliösulakkeet eivät ole ollenkaan tarpeellisia, mutta auttavat erottamaan visuaalisesti ja tekemään linjan helpommin lukea. Kuten aikaisemmin olemme käsitelleet, voit lisätä haluamasi muuttujan tekstiin tai normaaleihin merkkeihin, joten voit käyttää mitä tahansa sinulle sopivia tekstejä.

Yksi tehokkaampi temppu sinun pitäisi tietää: Voit lisätä minkä tahansa komennon tuotoksiin kehotteeseen. Aina kun kehote ilmestyy, Bash suorittaa komennon ja täyttää nykyiset tiedot. Voit tehdä tämän vain sisällyttää kaikki komennot, jotka haluat suorittaa kahden välillä
Yksi tehokkaampi temppu sinun pitäisi tietää: Voit lisätä minkä tahansa komennon tuotoksiin kehotteeseen. Aina kun kehote ilmestyy, Bash suorittaa komennon ja täyttää nykyiset tiedot. Voit tehdä tämän vain sisällyttää kaikki komennot, jotka haluat suorittaa kahden välillä

`

merkkiä. Se ei ole apostropea - se on vakava aksentti, joka näkyy näppäimistön Tab-näppäimen yläpuolella.

Oletetaan esimerkiksi, että haluat tarkastella Linux-ytimen versiona kehotteessa. Voit käyttää linjaa, kuten seuraavia:

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

Toisena esimerkkinä mainittakoon, että haluat tarkastella järjestelmän käyttöaikaa ja keskimääräistä kuormitusta
Toisena esimerkkinä mainittakoon, että haluat tarkastella järjestelmän käyttöaikaa ja keskimääräistä kuormitusta

uptime

komento. Voit käyttää seuraavaa rakennetta, joka asettaa käytettävyyden omalla rivillään ennen lopullista kehotusta.

PS1='(`uptime`)

u@h:w$ '

Voit kokeilla erilaisia erikoismerkkejä ja komentoja ihanteellisen komentokehotteen kokoamiseksi.
Voit kokeilla erilaisia erikoismerkkejä ja komentoja ihanteellisen komentokehotteen kokoamiseksi.

Kuinka lisätä värejä haasteeseen

Kun olet selvittänyt haluamasi kehotteen, voit lisätä siihen värejä. Tämä on itse asiassa hyvin yksinkertainen, mutta se tekee muuttujasta näyttävän epätavanomaisen ja monimutkaisen, jos et ymmärrä, mitä katselet.

Esimerkiksi oletusväriteksti -muuttujan aikaisempi muuttuja oli:

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

Tai poistaa debian_chroot bittiä uudelleen:

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

Tämä on oikeastaan vain
Tämä on oikeastaan vain

u@h:w$

muuttuja aikaisemmasta, mutta väritiedoista. Todellakin, voimme jakaa sen muutamiin jaksoihin:

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

Ensimmäinen osa on

u@h

bittinen, jota edeltää väritieto, joka muuttaa sen vihreiksi. Toinen on

:

merkki, jota edeltää väritieto, joka poistaa väriaineen. Kolmas on

w

bittinen, jota edeltää väritieto, joka muuttuu siniseksi. Neljäs on

$

bittinen, jota edeltää väritieto, joka poistaa väriaineen.

Kun ymmärrät, miten voit luoda omia värikoodeja, voit lisätä mitä tahansa haluamaasi värejä minkä tahansa haluamasi Bash-kehotteen osiin.
Kun ymmärrät, miten voit luoda omia värikoodeja, voit lisätä mitä tahansa haluamaasi värejä minkä tahansa haluamasi Bash-kehotteen osiin.

Tässä on sinun tarvitsee tietää: Sinun on sisällytettävä koko värikooditiedot

[

ja

] character

s. Tunnisteen sisällä sinun on aloitettava joko

33[

tai

e[

osoittaa Bashille, että tämä on väritieto. molemmat

33[

ja

e[

tee sama asia.

e[

on lyhyempi joten voisi olla helpompi käyttää, mutta käytämme

33[

täältä se vastaa oletusarvoisesti käytettyjä. Tunnisteen lopussa sinun on lopetettava

m

osoittamaan värimerkin loppu.

Tämä murtuu, tässä on jokainen värimerkki. Ainoa ero on, kun lisäät värien sijaan värin, jotta määrität todellisen värin:

[33[ COLORm]

Bashin avulla voit muuttaa etualan tekstin väriä, lisätä tekstiin tekstiä kuten "rohkea" tai "alleviivaa" ja asettaa taustavärin.

Tässä ovat tulosaineiston arvot:

  • Musta: 30
  • Sininen: 34
  • Syaani: 36
  • Vihreä: 32
  • Violetti: 35
  • Punainen: 31
  • Valkoinen: 37
  • Keltainen: 33

Esimerkiksi, koska violetti teksti on värikoodi 32, käytät sitä

[33[ 32m]

purppura tekstiä varten.

Voit myös määrittää tekstin attribuutin. Tämä attribuutti on lisättävä ennen värin numeroa erotettuna puolipisteellä (;). Näillä ominaisuuksilla näkyvät tekstit näyttävät erilaisilta eri pääteemulaattoreilta.
Voit myös määrittää tekstin attribuutin. Tämä attribuutti on lisättävä ennen värin numeroa erotettuna puolipisteellä (;). Näillä ominaisuuksilla näkyvät tekstit näyttävät erilaisilta eri pääteemulaattoreilta.

Tässä ovat tekstin attribuuttien arvot:

  • Normaali teksti: 0
  • Lihavoitu tai valoteksti: 1 (riippuu pääteemulaattorista.)
  • Dim teksti: 2
  • Alleviivaus: 4
  • Vilkkuva teksti: 5 (Tämä ei toimi useimmissa pääteemulaattoreissa.)
  • Käänteinen teksti: 7 (Tämä invertoi etualan ja taustavärit, joten musta teksti näkyy valkoisella taustalla, jos nykyinen teksti on valkoista tekstiä mustalla taustalla.)
  • Piilotettu teksti: 8

Sinun ei todellakaan tarvitse sisällyttää normaalia tekstimääritettä. Joka tapauksessa se on oletus.

Esimerkiksi, koska punainen teksti on koodi 31 ja lihavoitu teksti on koodi 1, käytät sitä

[33[ 1;31m]

lihavoitua punaista tekstiä varten.

Voit myös määrittää taustavärin, mutta et voi lisätä attribuuttia taustaväriin.
Voit myös määrittää taustavärin, mutta et voi lisätä attribuuttia taustaväriin.

Tässä ovat taustavärien arvot:

  • Musta tausta: 40
  • Sininen tausta: 44
  • Syaani tausta: 46
  • Vihreä tausta: 42
  • Violetti tausta: 45
  • Punainen tausta: 41
  • Valkoinen tausta: 47
  • Keltainen tausta: 43

Esimerkiksi, koska sininen tausta on koodi 44,

[33[ 44m]

määrittäisi sinisen taustan.

Voit määrittää sekä etualan että taustan väritunnisteet. Esimerkiksi 42 edustaa vihreää taustaa ja 31 edustaa punaista tekstiä. Jotta oletuskehotteesta tulee punainen teksti vihreällä taustalla, käytä:
Voit määrittää sekä etualan että taustan väritunnisteet. Esimerkiksi 42 edustaa vihreää taustaa ja 31 edustaa punaista tekstiä. Jotta oletuskehotteesta tulee punainen teksti vihreällä taustalla, käytä:

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

Määritämme vain yhden taustavärin ja sitten yhden etualan tekstin värin, joka alkaa heti kehotteen alussa ja sitä sovelletaan kaikkiin kehotteen tekstiin. Voit kuitenkin määrittää niin monta väritunnistetta kuin haluamasi muuttujaa värittääksesi oman kehotteenne eri osia.

Taustan ja etualan tekstin värit menevät ohituksen ohessa, ellet määritä värikoodia 00, tyhjennä väritiedot. Voit myös käyttää tätä tunnistetta muuttujan sisällä palauttamaan muotoilun takaisin oletusarvoisesti jonnekin haluamallasi tavalla. Esimerkiksi seuraava rivi lopettaisi kaikki värit ennen
Taustan ja etualan tekstin värit menevät ohituksen ohessa, ellet määritä värikoodia 00, tyhjennä väritiedot. Voit myös käyttää tätä tunnistetta muuttujan sisällä palauttamaan muotoilun takaisin oletusarvoisesti jonnekin haluamallasi tavalla. Esimerkiksi seuraava rivi lopettaisi kaikki värit ennen

$

merkki.

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

Image
Image

Uuden oletuspyynnön asettaminen

Kun olet valmis kokeilemaan värejä, sinulla on oltava haluamasi Bash-kehote nykyisessä istunnossa. Mutta luultavasti haluat tehdä uuden nopean pysyvän, joten sitä käytetään automaattisesti kaikissa Bash-istunnoissasi.

Tätä varten sinun tarvitsee vain muuttaa PS1-muuttujan sisältöä.bashrc-tiedostossa, jota tarkastelimme aiemmin.

Avaa.bashrc-tiedosto haluamallasi tekstieditorilla, kuten:

nano ~/.bashrc

Selaa alaspäin ja etsi PS1 = osio.Korvaa oletusmuuttujan mukautetulla muuttujalla. Luultavasti haluat poistua

${debian_chroot:+($debian_chroot)}

bitejä, mutta ne eivät tule näkyviin, ellet ole kuitenkaan chroot-ympäristössä.

Syötä värillinen PS1-muisti muuttujaan

if [ '$color_prompt' = yes ]; then

linja. Syötä muuttuja ilman värejä

else

linja.

Tallenna tiedosto ja sulje tekstieditori. Jos haluat esimerkiksi tallentaa tiedoston nanoon, paina Ctrl + O, paina Enter ja poistu painamalla Ctrl + X.
Tallenna tiedosto ja sulje tekstieditori. Jos haluat esimerkiksi tallentaa tiedoston nanoon, paina Ctrl + O, paina Enter ja poistu painamalla Ctrl + X.

Kun seuraavan kerran käynnistät uuden Bash-kuoren, esimerkiksi kirjautumalla terminaaliin tai avaamalla uuden pääteikkunan, näet mukautetun kehotteen.

Suositeltava: