Obecnie jest to:
michael@Castle2012-Ubuntu-laptop01:~/Dropnot/webs/rails_v3/linker/spec/controllers$
Poza zmianą nazwy mojej maszyny i struktury katalogów ...
Jak mogę sprawić, by było to coś więcej:
michael:controllers$
Obecnie jest to:
michael@Castle2012-Ubuntu-laptop01:~/Dropnot/webs/rails_v3/linker/spec/controllers$
Poza zmianą nazwy mojej maszyny i struktury katalogów ...
Jak mogę sprawić, by było to coś więcej:
michael:controllers$
Odpowiedzi:
Wystarczy wejść PS1='\u:\W\$ '
i nacisnąć enter.
W swoim ~/.bashrc
znajdź następującą sekcję:
if ["$ color_prompt" = tak]; następnie PS1 = „$ {debian_chroot: + ($ debian_chroot)} \ [\ 033 [01; 32m \] \ u @ \ h \ [\ 033 [00m \]: \ [\ 033 [01; 34m \] \ w \ [\ 033 [00m \] \ $ ' jeszcze PS1 = „$ {debian_chroot: + ($ debian_chroot)} \ u @ \ h: \ w \ $ ' fi
Usuń @\h
i zamień na \w
wielkie litery \W
, aby stał się:
if ["$ color_prompt" = tak]; następnie PS1 = „$ {debian_chroot: + ($ debian_chroot)} \ [\ 033 [01; 32m \] \ u \ [\ 033 [00m \]: \ [\ 033 [01; 34m \] \ W \ [\ 033 [00m \] \ $ ' jeszcze PS1 = „$ {debian_chroot: + ($ debian_chroot)} \ u: \ W \ $ ' fi
Zapisz, wyjdź, zamknij terminal i uruchom inny, aby zobaczyć wynik.
HOST='\033[02;36m\]\h' HOST=' '$HOST parse_git_branch () { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'; } TIME='\033[01;31m\]\t \033[01;32m\]' LOCATION=' \033[01;34m\]
pwd | sed "s # (/ [^ /] \ {1, \} / [^ /] \ {1, \} / [^ /] \ {1, \} /). * (/ [^ /] \ { 1, \} / [^ /] \ {1, \}) / \ {0,1 \} # \ 1_ \ 2 # g "' BRANCH=' \033[00;33m\]$(parse_git_branch)\[\033[00m\]\n\$ ' PS1=$TIME$USER$HOST$LOCATION$BRANCH PS2='\[\033[01;36m\]>'
Uruchom ten kod w bieżącym terminalu
PROMPT_DIRTRIM=3
Teraz monit bash wyświetli tylko 3 ostatnie nazwy katalogów. Możesz wybrać 1, aby wyświetlić tylko bieżący katalog. Więcej informacji jest dostępnych w dokumentacji GNU .
Efekt:
/var/lib/apt/lists# PROMPT_DIRTRIM=3
/.../lib/apt/lists#
Jeśli chcesz zrobić to na stałe, dodaj następujący wiersz ~/.bashrc
na początku:
PROMPT_DIRTRIM=3
lub inna liczba większa niż zero.
promptdir() { PROMPT_DIRTRIM=$1; }
aby ułatwić życie na żywo ...
To jest moje preferowane ustawienie zachęty:
dodano w ~/.bashrc
PS1='[\u@\h \W]\$ '
To wygląda tak:
[user@hostname dirname]$
(ze spacją po $
znaku)
Osobiście wolę widzieć tylko bieżący folder w monicie bash. Mogę to zrobić za pomocą następującego polecenia:
PS1='\W\$ '
Jeśli chcesz, aby zadziałał po każdym uruchomieniu, dodaj powyższe polecenie do ~ / .bashrc.
Zdaję sobie sprawę, że to jest bardzo stare, ale ponieważ nikt nie sugerował utworzenia aliasu, pomyślałem, że opublikuję. Za pomocą Bash Prompt Escape Sequences stworzyłem aliasshorten
W tym ~/.bash_aliases
miejscu zauważysz zmienną $ Blue, aby ustawić kolor podpowiedzi, który możesz pominąć lub zmienić w zależności od preferencji. Wyczyszczam również terminal, gdy dzwonię do skrótu.
alias c='clear'
alias shorten='PS1="$Blue$USER:\W$ "&& c'
Aby osiągnąć pożądany ciąg zachęty PO:
alias shorten='PS1="$USER:\W$ "'
Mam kolory zdefiniowane w ~/.bashrc
kopii i wklejone z https://wiki.archlinux.org/index.php/Color_Bash_Prompt . Na marginesie, co jest w kolorach kodu ansi? Jestem zmieszany, patrząc na to.
Blue='\e[0;34m' # Blue
I napisał funkcji można modyfikować w zależności od potrzeb:
function termprompt() {
PS1="${PS1//@\\h/}" # Remove @host
PS1="${PS1//\\w/\\W}" # Change from full directory to last name
}
Umieść tę funkcję na dole lub w pobliżu ~/.bashrc
po PS1
pełnym obliczeniu linii.
Pisałbyś za termprompt
każdym razem, gdy chciałbyś skrócić swój znak zachęty lub, termprompt
dzwoniłeś od dołu, by ~/.bashrc
uzyskać trwały charakter.
Zaletą tej techniki w porównaniu z wieloma innymi odpowiedziami jest .bashrc
konfiguracja PS1
na cztery różne sposoby (xterm + brak koloru, xterm + kolor, no-xterm + brak koloru, no-xterm + kolor). Ta odpowiedź obsługuje wszystkie cztery obecne metody i prawdopodobnie także przyszłe metody.
Kolejną zaletą jest to, że ta metoda ma mniej skomplikowane kody kontrolne do przejścia w celu wprowadzenia zmian.