A bash shellben a parancssor az a szöveg, amely akkor jelenik meg, amikor a rendszer kéri a bemenetet. A legtöbb rendszeren így néz ki:
A parancssorban bármilyen parancsot futtathat. A fenti üzenet például a következőt mutatja.
- ki vagy (a felhasználó neve)
- hol van (a myhost nevű számítógép)
- mi a munkakönyvtár ( ~, ami az otthoni könyvtár rövidítése)
Talán a legfontosabb a dollárjel (" $ "), amely egy speciális karakter, amely azt jelzi, hogy nem root felhasználóként jelentkezett be. Ha jelenleg root felhasználóként jelentkezett be, ez a karakter helyett egy font jel (" # ") lenne.
A parancssorot ábrázoló karakterlánc a PS1 nevű speciális környezeti változóban tárolódik. A fenti kérés esetén az értéke a következő.
"[e-mailben védett]" h: W ""
A karakterlánc négy különleges karaktert tartalmaz: u, h, W, $ . Ezek az elszabadult karakterszekvenciák, amelyek helyettesítik a tényleges értékeket minden alkalommal, amikor a parancs megjelenik.
Speciális karakterek
Az alábbi táblázatban felsorolt speciális karakterláncok használhatók a bash shell parancssorban.
Karaktersorozat | Fordítás |
---|---|
\ a | A "riasztás" karakter. A hangjelzés vagy a képernyő villog |
\ d | Az aktuális dátum, amely a Hétköznapok dátuma formátumban jelenik meg (pl. Szerda május 13. ). |
D { formátum } | Az aktuális dátum és idő a strftime által értelmezett formátum szerint jelenik meg. Ha a formátumot kihagyja, a D {} az aktuális 12 órás AM / PM időt jeleníti meg (pl. 07:23:01 PM ). |
\ e | Menekülési karakter (ASCII 27) |
e [ szám m | Jelöli a szín kezdetét, ahol a szám egy szám vagy számpár, amely meghatározza, hogy milyen színt és stílust használjon. Lásd a színek listáját és számpárjait. |
\ e [m | A szín megjelenítésére szolgáló szekvencia végét jelöli. |
\ h | A gép gazdaneve az elsőig . ". Például, ha a rendszer gazdaneve myhost.mydomain, h megjeleníti a myhost |
\ H | A gép teljes gépneve. |
\ j | A héj által kezelt munkahelyek száma. |
\ l | A shell végberendezés-azonosítója, általában egyjegyű szám. |
\ n | Új vonal |
\ r | Szállítás vissza |
\ s | A héj neve (az aktuális bash-munkamenetet kezdeményező folyamat alapneve). |
\ t | Az aktuális idő 24 órás HH: MM: SS formátumban jelenik meg (pl. 19:23:01 ). |
\ T | Aktuális idő 12 órás HH: MM: SS formátumban (pl. 07:23:01 ). |
\ @ | Aktuális idő 12 óra HH: MM: SS AM / PM formátumban (pl. 07:23:01 PM ). |
\ A | Aktuális idő 24 órás HH: MM formátumban (pl. 19:23 ). |
\ u | Az aktuális felhasználó felhasználóneve. |
\ v | Bash verziószám (pl. 4.3 ). |
\ V | Bash verzió és javítás száma (pl. 4.3.30 ). |
\ w | Az aktuális könyvtár. A felhasználó otthoni könyvtárát rövidítve tilde (" ~ ") jelöli. Például: / usr / bin, ~ vagy ~ / dokumentumok |
\ W | Az aktuális munkakönyvtár alapneve (pl. Bin, ~ vagy dokumentumok ). |
\! | Az aktuális parancs történetszáma. |
\ # | Az aktuális parancs parancs száma (parancsszámok olyanok, mint az előzmények száma, de az új bash-munkamenet indításakor nullára állnak). |
nnn | Az ASCII karakter, amelynek oktális értéke nnn. |
\\ | Backslash |
\ [ | Jelzi a nem nyomtatott karakterek, például a terminálvezérlő kódok kezdetét. |
\] | Jelzi a nem nyomtatási sor végét. |
\ $ | Kinyomtatja a # -et, ha az UID nulla (superuser), vagy $, ha nagyobb, mint nulla (bárki más). |
Az aktuális munkamenet kérésének módosítása
A PS1 környezeti változót úgy állíthatja be, mint bármely más változót a bash-ban, a NAME = VALUE utasításformával . Tehát a szabványos üzenet beállításához írja be a következő parancsot a parancssorba.
PS1 = "e-mail védett] h: W $"
… És azonnali változása azonnal megváltozik. Figyelje meg a dollárjel utáni utolsó helyet a karakterláncban, hogy egy extra helyet kapjon a kérés után, ami megkönnyíti a parancsok által megadott parancsok megkülönböztetését. Az extra hely nem szükséges, de ajánlott.
Vegye figyelembe, hogy a parancsban nincs szóköz a PS1, = és a string között.
Az összes jövőbeli munkamenet kérésének módosítása
Ha meg szeretné változtatni az új munkamenetre vonatkozó kéréseket, módosítania kell a bash indítási fájljait. Minden alkalommal, amikor elindít egy terminál munkamenetet, a következő fájlok, ha vannak, olvashatók és parancsfájlként kerülnek végrehajtásra:
/ etc / profile ~ / .bash_profile ~ / .bash_login
~ / .Profile
Az első fájl, az / etc / profile egy olyan rendszerindító parancsfájl, amely a rendszeren lévő bármely felhasználó számára kezdődik. Az egyes felhasználók kérésének megváltoztatásához módosítania kell ezt a fájlt, és ehhez a felhasználóhoz szükséges jogosultságok szükségesek.
sudo vi / etc / profile
Például, a fenti parancs kéri a jelszót, és ha a sudoers listában van, nyissa meg az univerzális bash indítófájlt, mint szuperfelhasználót, a vi szerkesztő segítségével.
A másik három fájlt a fent felsorolt sorrendben keresi, és / etc / profile után hajtja végre. Ez a három fájl az otthoni könyvtárban él, így csak az Ön számára hajtják végre. A PS1-t több helyen is definiálhatják, ezért gondosan olvassa el a fájlokat, hogy megismerje, hogyan állíthatók be a rendszer. Például sok rendszer eltérő PS1 értéket fog használni attól függően, hogy a terminál támogatja-e a színt.
A három fájl bármelyike létezhet és használható a bash-munkamenethez, de ha több mint egy, akkor a felsorolt sorrendben kerül végrehajtásra.
Ha nem akarja törölni vagy megváltoztatni a sorokat az indítási fájlokban, akkor hozzáadhat egy új PS1 = nyilatkozatot egy fájl végéhez, hogy egyéni parancsot alkalmazzon.
Szín hozzáadása a kérelemhez
Ha olyan terminált használ, amely támogatja a színt (és valószínűleg), akkor hozzáadhatja a színhez a színt. A színek hozzáadódnak az alábbi formátumú speciális karakterláncok használatával:
e [ szám m | Színes szekció kezdődik. A számérték egy különleges szám vagy számpár, amely meghatározza a színt. |
\ e [m | a színes szakasz végét jelenti; visszaáll az alapértelmezett színre |
Például a parancssor:
PS1 = "e [1; 35mThis világos lila" e [0; 35m ... és ez sötétlila. \ T
Hozzon létre egy ilyen üzenetet:
Itt van egy lista a használt színekről és azok számáról, amelyek azokat megadják:
Szám (ok) | Szín / stílus | Szám (ok) | Szín / stílus |
---|---|---|---|
0; 30 | Fekete | 1; 30 | Sötét szürke |
0; 31 | Piros | 1; 31 | Élénkvörös |
0; 32 | Zöld | 1; 32 | Világos zöld |
0; 33 | Barna | 1; 33 | Sárga |
0; 34 | Kék | 1; 34 | Élénk kék |
0; 35 | Lila | 1; 35 | Világos lila |
0; 36 | Cián | 1; 36 | Fényes cián |
0; 37 | szürke | 1; 37 | fehér |
4; 30 | Fekete, aláhúzva | 40 | háttér: Sötét szürke |
4; 31 | Piros, aláhúzva | 41 | háttér: piros |
4; 32 | Zöld, aláhúzva | 42 | háttér: zöld |
4; 33 | Brown, aláhúzva | 43 | háttér: sárga |
4; 34 | Kék, aláhúzott | 44 | háttér: kék |
4; 35 | Lila, aláhúzva | 45 | háttér: lila |
4; 36 | Cián, aláhúzva | 46 | háttér: cián |
4; 37 | Szürke, aláhúzva | 47 | Háttér: Szürke |
Íme néhány példa, és hogyan néz ki:
PS1 = e [0; 31 mRe e [0; 32 mGreen e [0; 33mBrown e [0; 34 mBe e e [0; 35 mPurple e [0; 36 mCyan e [0; 37mGray e [m;
PS1 = "aláhúzva: e [4; 31 mRe e [4; 32 mGreen e [4; 33 mBrown e [4; 34 mBe e [4; 35 mPurple e [4; 36 mCyan e [4; m”
PS1 = "e [44m e [1; 35mBright lila, kék alapon e [m")