Menu

Nastavení promptu

Výzva k zadání příkazu, neboli prompt je řetězec, který se zobrazuje v terminálu a dává najevo očekávání nového příkazu. Obsah promptů je v shellu uložen v proměnných $PS1 (to je ten, který vidíte běžně) a $PS2 (ten se zobrazí pokud zadáváte víceřádkový příkaz).

Podíváme se, co obsahuje proměnná $PS1 v labu: \h:\w\$ . Obsahuje jméno počítače, dvojtečku, aktuální pracovní adresář, znak dolaru a mezeru. Různých sekvencí se zpětným lomítkem, které můžeme použít existuje více:

\h ... jméno stroje
\n ... nový řádek
\t ... aktuální čas (HH:MM:SS)
\A ... aktuální čas (HH:MM)
\u ... uživatelské jméno
\w ... pracovní adresář
\! ... pořadí spouštěného příkazu v historii
\# ... pořadí spouštěného příkazu v aktuálně spuštěném shellu
\$ ... znak # pro roota, $ pro všechny ostatní
\\ ... zpětné lomítko
\[ ... začátek sekvence netisknutelných znaků
\] ... konec sekvence netisknutelných znaků

Pozastavme se nad posledními dvěma sekvencemi. Netisknutelné znaky (neplést s bílými znaky) se nezobrazí přímo v promptu, můžou ale ovlivňovat chování ostatních. Speciálním případem takového ovlivnění je přidání barev. Sekvence \[\033[01;32m\] nastaví barvu na tučnou zelenou. Zkuste experimentovat s jinými čísly místo 01 a 33. Sekvence \[033[00m\] vypne všechny zapnuté barvy (vhodné udělat na konci). Na závěr si tedy ukážeme příklad pěkného obarveného promptu:

PS1='\[\033[01;33m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '

Pokud chcete, aby se vám prompt automaticky nastavoval při každém přihlášení, připište přiřazení do proměnné $PS1 do souboru ~/.bash_profile.