Aby to zmienić tylko dla bieżącej instancji terminala
Wystarczy wejść PS1='\u:\W\$ 'i nacisnąć enter.
Aby to zmienić „na stałe”
W swoim ~/.bashrcznajdź 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ń @\hi zamień na \wwielkie 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.
Ton więcej opcji!
Zobacz tutaj, aby uzyskać obszerniejsze instrukcje z wieloma dodatkowymi opcjami
Zobacz tę odpowiedź dotyczącą używania małego skryptu Python do ustawiania znaku zachęty, aby skrócenie występowało tylko wtedy, gdy użytkownik jest głęboko w strukturze katalogów.
Czy istnieje sposób, aby uczynić to globalnym? Innymi słowy, jeśli sudo przejdzie do innego użytkownika, czy to ustawienie zostanie przeniesione, ale tylko dla siebie (tj. Nie dla użytkownika, gdy normalnie korzysta z konta)?
cytat z
Aby mieć wspólny plik .bashrc, który działa zarówno na systemie Linux, jak i OSX, od tego czasu przełączyłem się na unix.stackexchange.com/a/127800/10043
ale zobacz odpowiedź na temat właściwego kodu do użycia.
Michael Durrant
104
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 .
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_aliasesmiejscu 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'
Przewodnik krok po kroku byłby tak przydatny, ponieważ nie mam pojęcia, jak dostać się do .bash_aliases. Dzięki
Kayote
2
„.” przedrostek oznacza ukryty katalog lub plik. Tylda „~” jest krótką formą zmiennej $ HOME. Tak więc „~ / .bash_aliases” to tylko krótka forma „/home/$USER/.bash_aliases”. Aby otworzyć plik „.bash_aliases”, możesz albo otworzyć terminal i wpisać „gedit /home/$USER/.bash_aliases” lub „gedit ~ / .bash_aliases” lub w katalogu domowym wpisz ctrl-h, aby wyświetlić ukryte pliki i otworzyć plik bezpośrednio . Mam nadzieję, że to pomaga. Możesz także wyszukać w Google przydatne aliasy.
Allie Carver,
0
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 ~/.bashrcpo PS1pełnym obliczeniu linii.
Pisałbyś za termpromptkażdym razem, gdy chciałbyś skrócić swój znak zachęty lub, termpromptdzwoniłeś od dołu, by ~/.bashrcuzyskać trwały charakter.
Zaletą tej techniki w porównaniu z wieloma innymi odpowiedziami jest .bashrckonfiguracja PS1na 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.
Odpowiedzi:
Aby to zmienić tylko dla bieżącej instancji terminala
Wystarczy wejść
PS1='\u:\W\$ '
i nacisnąć enter.Aby to zmienić „na stałe”
W swoim
~/.bashrc
znajdź następującą sekcję:Usuń
@\h
i zamień na\w
wielkie litery\W
, aby stał się:Zapisz, wyjdź, zamknij terminal i uruchom inny, aby zobaczyć wynik.
Ton więcej opcji!
źródło
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
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:
Jeśli chcesz zrobić to na stałe, dodaj następujący wiersz
~/.bashrc
na początku:lub inna liczba większa niż zero.
źródło
promptdir() { PROMPT_DIRTRIM=$1; }
aby ułatwić życie na żywo ...To jest moje preferowane ustawienie zachęty:
dodano w
~/.bashrc
To wygląda tak:
(ze spacją po
$
znaku)źródło
Osobiście wolę widzieć tylko bieżący folder w monicie bash. Mogę to zrobić za pomocą następującego polecenia:
Jeśli chcesz, aby zadziałał po każdym uruchomieniu, dodaj powyższe polecenie do ~ / .bashrc.
źródło
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 alias
shorten
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.Aby osiągnąć pożądany ciąg zachęty PO:
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.źródło
I napisał funkcji można modyfikować w zależności od potrzeb:
Umieść tę funkcję na dole lub w pobliżu
~/.bashrc
poPS1
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
konfiguracjaPS1
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.
źródło