Jak zmienić monit w systemie Linux?

16

Domyślnym monitem będzie

root@monu dev]#

Czy możemy zmienić część „root @ monu” i nadać jej pożądaną nazwę?

monu
źródło

Odpowiedzi:

23

Zmienia się to poprzez zmianę zmiennej środowiskowej PS1.

Możesz zobaczyć aktualną wartość PS1:

root@monu dev# echo $PS1

Możesz zobaczyć wartość, która ma być równa \u@\h \w\$, gdzie:

  • \u : Nazwa Użytkownika
  • \h : nazwa hosta
  • \w : bieżący katalog roboczy
  • \$: #symbol dla użytkownika root, $symbol dla innych użytkowników

Jeśli chcesz, aby zmiana była trwała, musisz dodać skrypt zmieniający wartość PS1in ~/.bashrc, ponieważ jest on wykonywany przy każdym logowaniu użytkownika.

pradeepchhetri
źródło
1
Nie zapomnij również umieścić go w pliku ~ / .bashrc. np. `PS1 =" moja nazwa \\ $ ".
Keith,
5
~ / .bashrc nie jest uruchamiane za każdym razem, gdy użytkownik się loguje. „Gdy uruchamiana jest powłoka interaktywna, która nie jest powłoką logowania, bash czyta i wykonuje polecenia z ~ / .bashrc, jeśli ten plik istnieje.” - man bash / INVOCATION
manatwork
Zmieniając je, możesz zmienić. ?
tshepang
Aby uzyskać szczegółowe informacje, zobacz PROMPTINGsekcję z man bash.
Francesco Turco,
Tak, ale jak dokładnie? Czy możesz podać jakieś przykłady?
Peter Mortensen
5

To zależy od twojej powłoki. Ważną informacją dodatkową jest to, że nigdy nie należy używać konta root jako konta osobistego. Utwórz zwykłego użytkownika i skonfiguruj dostęp do sudo. Sprawdź w instrukcji dystrybucji, jak to zrobić.

W zsh musisz ustawić zmienną PROMPT w następujący sposób:

PROMPT='%{ESC[38;5;24m%};%{ESC[0m%} '

Zshell oferuje wiele innych opcji i jest to naprawdę minimalny monit.

W bash możesz ustawić to w następujący sposób:

local ROOK="\[\033[38;5;24m\]"
local DEFAULT="\[\033[0;39m\]"
PS1="${ROOK}\$${DEFAULT} "

Zauważ, że w obu przypadkach mam terminal obsługujący 256 kolorów. Strona podręcznika bardzo pomoże ( man bashlub man zsh).

Sardathrion - Przywróć Monikę
źródło
2
W tym przypadku poprawnie podałeś przypadek konta root , IMO - nie należy go używać jako konta osobistego (z wyjątkiem niektórych wbudowanych systemów o bardzo małej powierzchni).
rozcietrzewiacz