Otázka :V tomto případě byl název hostitele (geeklab) již aktualizován v /etc/sysconfig/network a /etc/hosts soubor, ale stále je třeba aktualizovat v příkazovém řádku.
Chcete-li například změnit starou výzvu shellu, jak je uvedeno níže:
Od :[root@geek ~]#
Komu :[root@geeklab ~]#
OS :CentOS/RHEL 6 a 7
Změna výzvy Shell za chodu
Výzva shellu se ovládá pomocí PS proměnné prostředí. Zde je seznam běžně používaných proměnných prostředí PS a jejich funkce.
- PS1 – Hodnota tohoto parametru je rozšířena a použita jako primární řetězec výzvy. Výchozí hodnota je \u@\h \W\\$ .
- PS2 – Hodnota tohoto parametru je rozšířena jako u PS1 a použita jako sekundární prompt. Výchozí hodnota je ].
- PS3 – Hodnota tohoto parametru se používá jako výzva pro příkaz select.
- PS4 – Hodnota tohoto parametru je rozšířena jako u PS1 a hodnota je vytištěna před zobrazením každého příkazu bash během sledování provádění. První znak PS4 je podle potřeby několikrát replikován, aby indikoval více úrovní nepřímosti. Výchozí hodnota je +.
PS1 je primární proměnná výzvy, která obsahuje \u@\h \W\\$ speciální bashové znaky. Toto je výchozí struktura výzvy bash a zobrazí se pokaždé, když se uživatel přihlásí pomocí terminálu. Tyto výchozí hodnoty jsou nastaveny v /etc/bashrc soubor.
Tento příkaz zobrazí aktuální hodnotu.
# echo $PS1
Například:
[root@geek ~]# echo $PS1 [\u@\h \W]\$
To lze upravit změnou proměnné PS1:
# PS1="[\u@geeklab \w]# "
Nyní bude upravená výzva vypadat jako níže. Například:
[root@geek ~]# PS1="[\u@geeklab \w]# " [root@geeklab ~]#
Provádění trvalých změn
Chcete-li, aby tato nastavení byla trvalá, přidejte je do ~/.bash_profile soubor:
# echo 'export PS1="[\u@\h \w]# "' >> ~/.bash_profile
Speciální znaky ve výchozí výzvě jsou následující:
\u =uživatelské jméno
\h =název hostitele
\W =aktuální pracovní adresář