V prostředí bash je příkazový řádek zobrazen při zobrazení výzvy k zadání. Na většině systémů to vypadá takto:
Ve výzvě můžete mít informace před spuštěním libovolných příkazů. Výše uvedená výzva například ukazuje následující.
- kdo jste (uživatel jmenovaný uživatelem )
- kde jste (počítač s názvem myhost )
- jaký je váš pracovní adresář ( ~, což je zkratka pro váš domovský adresář)
Snad nejdůležitější je znak dolaru (" $ "), což je speciální znak, který označuje, že jste přihlášeni jako uživatel bez oprávnění root. Pokud jste byli aktuálně přihlášeni jako root, tento znak bude místo toho znakem libry (" # ").
Řetězec reprezentující výzvu je uložen ve speciální proměnné prostředí s názvem PS1 . Výše uvedená výzva vypadá takto.
"chráněno e-mailem" h: W \ t
V tomto řetězci jsou čtyři speciální znaky: u, h, W, $ . Jedná se o uniklé sekvence znaků, které jsou nahrazeny skutečnými hodnotami při každém zobrazení výzvy.
Speciální znaky
Sekvence speciálních znaků uvedené v tabulce níže mohou být použity ve výzvě bash shell.
Posloupnost znaků | Překládá k |
---|---|
\A | Znak "alarm". Spustí pípnutí nebo blikání obrazovky |
d | Aktuální datum zobrazené ve formátu Dayday Month Date (např. Středa 13. května ). |
D { formát } | Aktuální datum a čas se zobrazují podle formátu interpretovaného strftime . Pokud je formát vynechán, {{} zobrazí aktuální 12hodinový čas AM / PM (např. 07:23:01 PM ). |
\E | Únikový znak (ASCII 27) |
e [ číslo m | Označuje začátek sekvence, která se má zobrazit barevně, kde číslo je číslo nebo dvojice čísel, která určuje, jakou barvu a styl použít. Níže naleznete seznam barev a jejich dvojic. |
e [m | Označuje konec sekvence, která se má zobrazit barevně. |
h | Název hostitele stroje, až po první " . " Například, pokud je jméno hostitele systému myhost.mydomain, h zobrazuje myhost |
H | Plné jméno počítače. |
j | Počet pracovních míst spravovaných shellem. |
Já | Identifikátor terminálového zařízení shellu, obvykle jednociferné číslo. |
n | Nový řádek |
r | Návrat nákladu |
s | Název shellu (název procesu, který inicioval aktuální bash session). |
\ t | Aktuální čas zobrazený ve 24hodinovém formátu HH: MM: SS (např. 19:23:01 ). |
T | Aktuální čas zobrazený ve 12hodinovém formátu HH: MM: SS (např. 07:23:01 ). |
\ @ | Aktuální čas zobrazený ve 12hodinovém formátu HH: MM: SS AM / PM (např. 07:23:01 PM ). |
\A | Aktuální čas ve formátu 24 hodin HH: MM (např. 19:23 ). |
u | Uživatelské jméno aktuálního uživatele. |
\proti | Číslo verze Bash (např. 4.3 ). |
\PROTI | Bash verze a číslo záplaty (např. 4.3.30 ). |
w | Aktuální adresář. Domovský adresář uživatele je zkrácen jako tilda (" ~ "). Například / usr / bin, ~, nebo ~ / documents |
W | Jméno aktuálního pracovního adresáře (např. Bin, ~ nebo dokumenty ). |
! | Číslo historie aktuálního příkazu. |
\ # | Číslo příkazu aktuálního příkazu (čísla příkazů jsou jako čísla historie, ale při spuštění nové relace bash se resetují na nulu). |
nnn | Znak ASCII, jehož osmičková hodnota je nnn. |
\ T | Zpětné lomítko |
[ | Označuje začátek libovolné sekvence netisknutých znaků, například kódů pro ovládání terminálu. |
\] | Označuje konec netiskové sekvence. |
$ | Vytiskne #, pokud UID je nula (superuživatel), nebo $, pokud je větší než nula (kdokoliv jiný). |
Změna výzvy pro aktuální relaci
Proměnnou prostředí PS1 můžete nastavit tak, jako jakoukoli jinou proměnnou v bash, s formulářem příkazu NAME = VALUE . Chcete-li nastavit standardní výzvu, můžete na příkazovém řádku zadat následující příkaz.
PS1 = "[chráněno e-mailem] h: W \ t
… A vaše výzva se okamžitě změní. Všimněte si poslední mezeru za znakem dolaru v řetězci pro další mezeru po výzvě, což usnadňuje rozlišení příkazů, které zadáváte z výzvy. Prostor navíc není nutný, ale doporučuje se.
Všimněte si, že v příkazu nejsou žádné mezery mezi PS1, = a řetězcem.
Změna výzvy pro všechny budoucí relace
Pokud chcete změnit výzvu pro každou novou relaci, je třeba upravit soubory spouštění bash. Pokaždé, když spustíte relaci terminálu, jsou následující soubory, pokud existují, načteny a provedeny jako skripty:
/ etc / profile ~ / .bash_profile ~ / .bash_login
~ / .profil
První soubor / etc / profile je spouštěcí skript pro každého uživatele v systému, který spustí bash relaci. Chcete-li změnit výzvu pro každého uživatele, musíte tento soubor upravit a k tomu potřebujete oprávnění superuživatele.
sudo vi / etc / profile
Například výše uvedený příkaz vás vyzve k zadání hesla a pokud se nacházíte v seznamu sudoers, otevřete univerzální spouštěcí soubor bash jako superuser pomocí editoru vi .
Další tři soubory jsou vyhledány v pořadí uvedeném výše a provedeny po souboru / etc / profile . Tyto tři soubory žijí ve vašem domovském adresáři, takže jsou prováděny pouze pro vás. Mohou definovat PS1 na více než jednom místě, takže byste měli soubory pečlivě číst, abyste zjistili, jak jsou nakonfigurovány ve vašem systému. Například, mnoho systémů bude používat jinou hodnotu PS1 v závislosti na tom, zda váš terminál podporuje barvu.
Kterýkoli ze tří souborů může existovat a může být použit pro vaši bash session, ale pokud existuje více než jeden, budou provedeny v uvedeném pořadí.
Pokud nechcete odstranit nebo změnit řádky ve spouštěcích souborech, můžete také přidat nový příkaz PS1 = na konec jednoho ze souborů a použít vlastní výzvu.
Přidání barvy do výzvy
Pokud používáte terminál, který podporuje barvy (a pravděpodobně jste), můžete do výzvy přidat barvu. Barvy se přidávají pomocí speciálních sekvencí znaků, které následují tento formát:
e [ číslo m | Začíná barevný řez. Číselná hodnota je speciální číslo nebo dvojice čísel, která určuje barvu. |
e [m | označuje konec barevné sekce; obnoví výchozí barvu |
Řetězec výzvy:
PS1 = "e [1; 35m To je jasně purpurová. \ T [0; 35m ... a to je tmavě fialová. \ T
Zobrazí výzvu, která vypadá takto:
Zde je seznam barev, které můžete použít, a čísla, která je určují:
Číslo (čísla) | Barva / Styl | Číslo (čísla) | Barva / Styl |
---|---|---|---|
0; | Černá | 1; | Tmavě šedá |
0; | Červené | 1; | Jasně červená |
0; | Zelená | 1; | Světle zelená |
0; | Hnědý | 1; | Žlutá |
0; | Modrý | 1; | Zářivě modrá |
0; | Nachový | 1; | Jasně fialová |
0; | Tyrkysová | 1; | Jasně azurová |
0; | Šedá | 1; | Bílý |
4; | Černá, podtržená | 40 | pozadí: Tmavě šedá |
4; | Červená, podtržená | 41 | pozadí: červená |
4; | Zelená, podtržená | 42 | pozadí: zelená |
4; | Brown, podtržený | 43 | pozadí: žlutá |
4; | Modrá, podtržená | 44 | pozadí: modrá |
4; | Fialová, podtržená | 45 | pozadí: Fialová |
4; | Azurová, podtržená | 46 | pozadí: azurová |
4; | Šedá, podtržená | 47 | Pozadí: Šedá |
Zde je několik příkladů a jejich vzhled:
PS1 = "e [0; 31mRed e [0; 32mGreen e [0; 33mBrown e [0; 34mBlue e [0; 35mPurple e [0; 36mCyan e [0; 37mGray e [m;
PS1 = "Podtržené: e [4; 31mRed e [4; 32mGreen e [4; 33mBrown e [4; 34mBlue e [4; 35mPurple e [4; 36mCyan e [4; m "
PS1 = "e [44m e [1; 35mBright fialová na modrém pozadí