Kuidas kohandada käsureale bash

Bash shellis on käsurea tekst, mis kuvatakse, kui teil palutakse sisestada. Enamikus süsteemides näeb see välja selline:

Kui teil on käskude käivitamine, võite teil esitada teate. Näiteks näitab ülaltoodud viide järgmist.

  1. kes sa oled (kasutaja nimega kasutaja )
  2. kus sa oled (arvuti nimega myhost )
  3. mida teie töö kataloog on ( ~, mis on teie kodukataloogi lühend)

Võib-olla kõige olulisem on dollari märk (" $ "), mis on erimärk, mis näitab, et olete sisse logitud mitte-root kasutajana. Kui te oleksite praegu sisse logitud, oleks see märgi asemel nael (" # ").

Kiire tähistav string salvestatakse spetsiaalsesse keskkonnamuutujani PS1 . Ülaltoodud teate jaoks on selle väärtus järgmine.

 "[kaitstud e-post]] h: W $" 

Selles stringis on neli erimärki: u, h, W, $ . Need on põgenenud märkide järjestused, mis asendatakse iga kord, kui kuvatakse teade.

Erimärgid

Alljärgnevas tabelis loetletud erimärkide järjestusi saab kasutada bash shell'i käskluses.

Märkide järjestusTõlgib
a"Häire" märk. Lülitab helisignaali või ekraani välgu
dPraegune kuupäev, mis kuvatakse vormingus Nädalapäev Kuupäev (nt kolmapäev 13. mai ).
D { formaat }Praegune kuupäev ja kellaaeg kuvatakse vastavalt formaadile, nagu seda tõlgendab strftime . Kui formaat on välja jäetud, kuvab D {} praeguse 12-tunnise AM / PM-i aja (nt 07:23:01 PM ).
ePõgenemise märk (ASCII 27)
e [ number mTähistab järjestuse algust värvi kuvamiseks, kus number on number või numbrite paar, mis määrab, millist värvi ja stiili kasutada. Vt allpool värvide ja nende arvu paaride loendit.
e [mTähistab värvi näitamiseks mõeldud jada lõppu.
hMasina hostinimi kuni esimese " . " Näiteks, kui süsteemi hostinimi on myhost.mydomain, kuvab h myhost
HMasina täielik hostinimi.
jKesta haldatavate töökohtade arv.
lKesta terminali seadme tunnus, tavaliselt ühekohaline number.
nUus liin
rVeo tagastamine
sKesta nimi (praeguse bash-seansi käivitanud protsessi alusnimi).
\ tKellaaeg kuvatakse 24-tunnises HH: MM: SS formaadis (nt 19:23:01 ).
TKellaaeg kuvatakse 12-tunnises HH: MM: SS formaadis (nt 07:23:01 ).
@Kellaaeg kuvatakse 12-tunnises HH: MM: SS AM / PM formaadis (nt 07:23:01 PM ).
AKellaaeg 24-tunnises HH: MM-vormingus (nt 19:23 ).
uPraeguse kasutaja kasutajanimi.
vBash versiooni number (nt 4.3 ).
VBash versioon ja plaastri number (nt 4.3.30 ).
wPraegune kataloog. Kasutaja kodukataloog on lühendatud kui tilde (" ~ "). Näiteks, / usr / bin, ~ või ~ / dokumendid
WPraeguse töökausta põhinimi (nt bin, ~ või dokumendid ).
!Praeguse käsu ajalugu.
#Praeguse käsu number (käskude numbrid on sarnased ajaloo numbritega, kuid uue bash-seansi alustamisel nullitakse need nullini).
nnnASCII märk, mille oktaalväärtus on nnn.
\ TTagakülg
[Märgib mis tahes mitteprintivate tähemärkide, näiteks terminali juhtkoodide algust.
\ TMärgistab mitteprinditava järjestuse lõppu.
$Prindib #, kui UID on null (superuser), või $ kui suurem kui null (keegi teine).

Praeguse seansi küsitluse muutmine

PS1-i keskkonnamuutujat saab seada bash-i muu muutujana, avalduse vormiga NAME = VALUE . Selleks, et määrata tavapärase käsk, võite käsureale sisestada järgneva.

 PS1 = "e-posti kaitstud] h: W $" 

… Ja teie kiire muutus kohe muutub. Pange tähele lõplikku ruumi pärast dollari allkirjastamist stringis lisaruumi järele pärast seda, kui teil on kiire käsk, mis muudab lihtsamaks vahetada käsud, mida te kirjutate. Lisaruumi ei ole vaja, kuid see on soovitatav.

Pange tähele, et käsus ei ole PS1, = ja stringi vahel tühikuid.

Kõigi tulevaste seansside teate muutmine

Kui soovite iga uue seansi kohta käsku muuta, peate redigeerima oma bash-käivitusfaile. Iga kord, kui alustate terminali seanssi, loetakse ja täidetakse skriptina järgmised failid, kui need on olemas:

/ etc / profile ~ / .bash_profile ~ / .bash_login

~ / .profile

Esimene fail / etc / profile on käivitusskript kõigile süsteemi kasutajatele, kes alustavad bash-istungit. Iga kasutaja küsi- mise muutmiseks peate seda faili redigeerima ja selleks on vaja superkasutaja õigusi.

 sudo vi / etc / profile 

Näiteks ülaltoodud käsk küsib teid parooli ja kui olete sudoersi nimekirjas, avage vi redaktori abil universaalse bash-i käivitamise fail superuserina.

Ülejäänud kolme faili otsitakse ülaltoodud järjekorras ja täidetakse pärast / etc / profile . Need kolm faili asuvad teie kodukataloogis, nii et neid täidetakse ainult teie jaoks. Nad võivad määratleda PS1 rohkem kui ühes kohas, nii et peaksite failid hoolikalt läbi lugema, et näha, kuidas nad teie süsteemis konfigureeritakse. Näiteks kasutavad paljud süsteemid erinevat PS1 väärtust sõltuvalt sellest, kas teie terminal toetab värvi.

Kõik kolmest failist võivad esineda ja neid saab kasutada teie bash-seansi jaoks, kuid kui on rohkem kui üks, siis need täidetakse loetletud järjekorras.

Kui te ei soovi oma käivitusfailides ridu kustutada või muuta, võite lisada ühe oma faili lõppu uue PS1 = avalduse, et rakendada kohandatud palvet.

Värvi lisamine teie päringule

Kui kasutate värvi toetavat terminali (ja olete ilmselt ka), saate oma värvi värvi lisada. Värvid lisatakse spetsiaalsete sümbolite abil, mis järgivad seda vormingut:

e [ number mAlustab värvilist sektsiooni. Numbriväärtus on eriline number või numbrite paar, mis määrab värvi.
e [mtähistab värvilise sektsiooni lõppu; lähtestab vaikevärvi

Näiteks kiire string:

 PS1 = "e [1; 35mSee on särav lilla. E [0; 35m ... ja see on tume lilla. \ T 

Tekitab sellist väljakutset:

Siin on loetelu värvidest, mida saate kasutada, ja numbrid, mis neid määravad:

Number (numbrid)Värv / stiilNumber (numbrid)Värv / stiil
0; 30Must1; 30Tume hall
0; 31Punane1; 31Erepunane
0; 32Roheline1; 32Heleroheline
0; 33Pruun1, 33Kollane
0; 34Sinine34;Bright Blue
0; 35Lilla35;Bright Purple
0; 36Tsüaan1, 36;Helge tsüaan
0; 37Hall1; 37Valge
4, 30;Must, alla joonitud40taust: tumehall
4;Punane, allajoonitud41taust: punane
4;Roheline, allajoonitud42taust: roheline
33;Pruun, allajoonitud43taust: kollane
34;Sinine, allajoonitud44taust: sinine
35;Lilla, allajoonitud45taust: lilla
36;Tsüaan, allajoonitud46taust: tsüaan
37;Hall, allajoonitud47Taust: hall

Siin on mõned näited ja millised nad näevad välja:

 PS1 = "e [0; 31 mRed e [0; 32 mGreen e [0; 33mBrown e [0; 34 mBue e [0; 35mPurple e [0; 36mCyan e [0; 37mGray e [m" 

 PS1 = "Allakriipsutatud: e [4; 31mRed e [4; 32mGreen e [4; 33mBrown e [4; 34mBue e [4; 35mPurple e [4; 36mCyan e [4; 37mGray e [ m " 

 PS1 = "e [44m e [1; 35mBright lilla sinise taustaga [m"