V ukazni lupini bash je ukazni poziv besedilo, ki se prikaže, ko vas računalnik pozove k vnosu. Na večini sistemov izgleda tako:

V pozivu lahko dobite informacije, preden zaženete katere koli ukaze. Na primer, zgornji poziv vam pokaže naslednje.
- kdo ste (uporabnik imenovan uporabnik )
- kje ste (računalnik z imenom myhost )
- kakšen je vaš delovni imenik ( ~, ki je kratica za vaš domači imenik)
Morda je najpomembnejši znak dolarja (" $ "), ki je poseben znak, ki označuje, da ste prijavljeni kot nekorenski uporabnik. Če ste bili trenutno prijavljeni kot root, bo ta znak namesto znaka funta (" # ").
Niz, ki predstavlja poziv, je shranjen v posebni spremenljivki okolja PS1 . Za zgornji poziv je njegova vrednost videti takole.
h: W: \ t
V tem nizu so štirje posebni znaki: u, h, W, $ . To so ubežna zaporedja, ki se zamenjajo z dejanskimi vrednostmi vsakič, ko se prikaže poziv.
Posebni znaki
Posebna zaporedja znakov, navedena v spodnji tabeli, se lahko uporabijo v pozivu ukazne lupine bash.
Zaporedje znakov | Prevaja v |
---|---|
a | Znak "alarm". Sproži pisk ali bliskavico zaslona |
d | Trenutni datum, prikazan v obliki dneva v tednu v mesecu (npr. Sreda, 13. maj ). |
D { format } | Trenutni datum in čas sta prikazana glede na format, ki ga interpretira strftime . Če je format izpuščen, D {} prikaže trenutni 12-urni čas AM / PM (npr. 07:23:01 PM ). |
e | Ubežni znak (ASCII 27) |
e [ število m | Označuje začetek zaporedja za prikaz v barvi, kjer je številka število ali par številk, ki določa, katera barva in slog naj se uporabi. Spodaj si oglejte seznam barv in njihovih številk. |
e [m | Označuje konec zaporedja za prikaz v barvi. |
h | Ime računalnika do prvega " . " Na primer, če je ime gostitelja sistema myhost.mydomain, h prikaže myhost |
H | Polno ime računalnika. |
j | Število opravil, ki jih upravlja lupina. |
l | Identifikator terminalske naprave lupine, običajno enomestna številka. |
n | Nova vrstica |
r | Vrnitev prevoza |
s | Ime ukazne lupine (osnovno ime procesa, ki je sprožil trenutno sejo bash). |
. \ t | Trenutni čas, prikazan v 24-urnem formatu HH: MM: SS (npr. 19:23:01 ). |
A. \ t | Trenutni čas, prikazan v 12-urnem formatu HH: MM: SS (npr. 07:23:01 ). |
@ | Trenutni čas, prikazan v 12-urnem HH: MM: SS AM / PM formatu (npr. 07:23:01 PM ). |
A. \ t | Trenutni čas v 24-urnem formatu HH: MM (npr. 19:23 ). |
u | Uporabniško ime trenutnega uporabnika. |
v | Številka različice Bash (npr. 4.3 ). |
V | Bash različica in številka popravka (npr. 4.3.30 ). |
w | Trenutni imenik. Domači imenik uporabnika je skrajšan kot tilda (" ~ "). Na primer, / usr / bin, ~ ali ~ / |
W | Osnovno ime trenutnega delovnega imenika (npr. Bin, ~ ali dokumenti ). |
. \ T | Številka zgodovine trenutnega ukaza. |
. \ T | Številka ukaza trenutnega ukaza (številke ukaza so kot številke zgodovine, vendar se ponastavijo na nič, ko začnete novo sejo bash). |
nnn | Znak ASCII, katerega oktalna vrednost je nnn. |
. \ T | Poševnica nazaj |
[] \ T | Označuje začetek vsakega zaporedja znakov, ki niso tiskani, kot so kontrolne kode terminalov. |
. \ T | Označuje konec zaporedja brez tiskanja. |
\ $ | Natisne #, če je UID nič (superuporabnik) ali $ če je večji od nič (kdorkoli drug). |
Spreminjanje ukaza za trenutno sejo
Spremenljivko okolja PS1 lahko nastavite kot katero koli drugo spremenljivko v bash, pri čemer bo obrazec stavek NAME = VALUE . Če želite nastaviti standardni poziv, lahko v ukazno vrstico vnesete naslednje.
PS1 = "[zaščiten z e-pošto] h: W"
… In vaš poziv se bo takoj spremenil. Opazujte končni prostor za znak za dolar v nizu za dodaten prostor po pozivu, zaradi česar je lažje razlikovati ukaze, ki jih vnesete iz poziva. Dodatnega prostora ni potrebno, vendar je priporočljivo.
Opazite, da v ukazu ni presledkov med PS1, = in nizom.
Spreminjanje poziva za vse prihodnje seje
Če želite spremeniti poziv za vsako novo sejo, morate urediti datoteke za zagon bash. Vsakič, ko zaženete terminalsko sejo, se naslednje datoteke, če obstajajo, berejo in izvajajo kot skripte:
/ etc / profile ~ / .bash_profile ~ / .bash_login
~ / .profile
Prva datoteka, / etc / profile, je zagonski skript za vsakega uporabnika v sistemu, ki zažene sejo bash. Če želite spremeniti poziv za vsakega uporabnika, morate urediti to datoteko in za to potrebujete privilegije superuporabnika.
sudo vi / etc / profile
Na primer, zgornji ukaz vas bo pozval k vnosu gesla in če ste na seznamu sudoers, odprite univerzalno zagonsko datoteko bash kot superuporabnik z uporabo urejevalnika vi .
Ostale tri datoteke se iščejo po zgoraj navedenem vrstnem redu in se izvedejo po / etc / profile . Te tri datoteke so v vašem domačem imeniku, zato se izvajajo samo za vas. PS1 lahko definirajo na več kot enem mestu, zato morate datoteke prebrati, da vidite, kako so konfigurirane v sistemu. Mnogi sistemi bodo na primer uporabljali drugačno vrednost PS1, odvisno od tega, ali vaš terminal podpira barvo.
Vse tri datoteke lahko obstajajo in se uporabljajo za vašo bash sejo, če pa jih je več, se bodo izvajale v navedenem vrstnem redu.
Če ne želite izbrisati ali spremeniti vrstic v zagonskih datotekah, lahko dodate nov stavek PS1 = na konec ene od datotek, da uveljavite poziv po meri.
Dodajanje barve v svoj poziv
Če uporabljate terminal, ki podpira barvo (in verjetno tudi vi), lahko svojemu pozivu dodate barvo. Barve so dodane s posebnimi zaporedji znakov, ki sledijo tej obliki:
e [ število m | Začne barvni odsek. Vrednost številke je posebno število ali par številk, ki določa barvo. |
e [m | označuje konec barvnega odseka; ponastavi na privzeto barvo |
Na primer niz niza:
PS1 = "e [1; 35mTo je svetlo vijolično. [0; 35m ... in to je temno vijolično. \ T
Ustvaril bo poziv, ki izgleda takole:

Tukaj je seznam barv, ki jih lahko uporabite, in številke, ki jih določajo:
Številke | Barva / slog | Številke | Barva / slog |
---|---|---|---|
0; | Črna | 1; | Temno siva |
0; | rdeča | 1; | Svetlo rdeča |
0; | Zelena | 1; | Svetlo zelena |
0; | rjav | 1; | Rumena |
0; | Modra | 1; | Svetlo modra |
0; | Vijolična | 1; | Svetlo vijolična |
0; | Cyan | 1; | Bright Cyan |
0; | siva | 1; | Bela |
4, 30 | Črno, poudarjeno | 40 | ozadje: temno siva |
4; | Rdeča, podčrtana | 41 | ozadje: Rdeča |
4; | Zeleno, poudarjeno | 42 | ozadje: zeleno |
4; | Brown, poudaril | 43 | ozadje: Rumena |
4; | Modra, podčrtana | 44 | ozadje: modra |
4; | Vijolična, poudarjena | 45 | ozadje: vijolična |
4; | Cyan, podčrtano | 46 | ozadje: cian |
4, 37 | Gray, poudaril | 47 | Ozadje: siva |
Tu je nekaj primerov in kako izgledajo:
E [0, 31mRed, e [0, 32mGreen, e [0, 33mBrown, e [0, 34mBlue, e [0, 35mPurple, e [0, 36mCyan, e [0;
PS1 = "Podčrtano: e [4; 31mRed e [4; 32mGreen e [4; 33mBrown e [4; 34mBlue e [4; 35mPurple e [4; 36mCyan e [4; 37mGray m "

E [44m e [1; 35mBright purple na modrem ozadju e [m]
