Jeśli jestem w głębokim katalogu, powiedzmy:
~/Desktop/Dropbox/School/2017/C/A3/
wtedy kiedy otwieram terminal, mówi
bob@bob-ubuntu:~/Desktop/Dropbox/School/2017/C/A3/$
a potem piszę moje polecenie. To jest bardzo długie i każda linia, którą piszę w terminalu, przechodzi do następnej linii. Chcę wiedzieć, czy istnieje sposób, aby wyświetlał tylko mój bieżący katalog. Chcę, aby wyświetlało się:
bob@bob-ubuntu: A3/$
W ten sposób wszystko jest jasne i zawsze mogę pwd
zobaczyć cały mój katalog. Po prostu nie chcę, aby cały katalog był widoczny w terminalu, ponieważ zajmuje zbyt dużo miejsca.
export PROMPT_DIRTRIM=3
w twoim.bashrc
jest idealnym pośrednikiem między\W
a\w
. Zobacz: gnu.org/software/bash/manual/html_node/Bash-Variables.htmlZakładając, że używasz bash, zmień ciąg zachęty (zmienna PS1), aby
\W
zamiast niego\w
.np. jeśli twój PS1 jest obecnie
\u@\h:\w\$
, ustaw go na\u@\h:\W\$
Aby to było trwałe, będziesz musiał to zmienić w plikach startowych bash - np
~/.bash_profile
~/.bashrc
. Lub .zobacz
man bash
i wyszukajPROMPTING
pełne szczegóły oraz listę znaków specjalnych, które uniknęły ukośnika.źródło
\w
PS1 na nie powinna zaszkodzić\W
. lub możesz po prostu ustawić monit na cokolwiek chcesz na dole skryptu.w takim przypadku będziesz musiał edytować PS1 ,
insted
\w
się polecenia lub zmiennej, która pokazuje skróconą ścieżkę:oryginalny PS1
zmień na
Pamiętaj, że spowoduje to wstawienie nazwy użytkownika ~ jeśli jesteś w swoim domu, reż!
aby tego uniknąć, będziesz potrzebował kilku poleceń $ {PWD ## * /} np
nowy PS1 będzie wyglądał następująco
oOps, kiedy próbuję uratować świat, nie miałem Pomysłu | zapomniałem \ W
źródło
Jest to przenośne dla wszystkich
sh
powłok.Przypisz do
PS1
jednego z plików startowych powłoki:Znak zachęty będzie wyglądał
Gdzie
dir
jest podstawowa nazwa bieżącego katalogu.$PWD
Zmienna zawiera aktualną ścieżkę i${PWD##*/}
będzie rozebrać wszystko włącznie ostatni/
w tej ścieżce.Pojedyncze cudzysłowy uniemożliwiają formie powłoki ocenę podstawienia zmiennej w momencie przypisania (wartość
$PS1
zostanie oszacowana za każdym razem, gdy zostanie wyświetlony monit).PS1
Zmienna nie powinny być wywożone jest używany tylko przez bieżącej powłoki.źródło
https://github.com/chrissound/SodiumSierraStrawberry
Umożliwia obcięcie ścieżki, takiej jak:
źródło