Mogę wydrukować mój bieżący katalog roboczy w ten sposób
myPrompt$ pwd /Users/me/myDir
Chcę mieć powłokę wyglądać tak
/Users/me/myDir$ pwd /Users/me/myDir
Czy to możliwe? Jak mogę to zrobić?
Komentarze
Odpowiedź
Możesz użyć sekwencji zmiany znaczenia w zmiennych podpowiedzi.
Umieść to w swoich ~/.bashrc
:
PS1="\w\$ "
Komentarze
- dzięki. Dokonałem tej zmiany. Teraz widzę: Abrams-MacBook-Air-3: tmp abramhandler $ pwd; / Users / abramhandler / tmp Abrams-MacBook-Air-3: tmp abramhandler $ …. Chcę pokazać tylko część z napisem " tmp " dla mojego monitu. Jak ukryć resztę? Chcę ukryć " abramhandler " i " Abram ' s-MacBook-Air-3 " części
- @ akh2103 użyj
\W
zamiast\w
. Zobacz link, który podał ci Gilles, aby uzyskać (krótkie) wyjaśnienie kodów ucieczki. - @terdon Widzę to samo z \ W i \ w. Używam Uniksa na OSX.
- @ akh2103 Jeśli używasz OSX i aplikacji terminalowej, powinieneś dokonać zmian w ~ / .profile, a nie .bashrc, ponieważ terminal domyślnie uruchamia powłokę logowania. Powinieneś także pobrać ~ / .profile lub otworzyć nowy terminal, aby zmiany odniosły skutek. Ponadto edytuj , aby dodać więcej informacji, nie mogę ' zrozumieć, o co prosisz z ostatniego komentarza .
- @terdon, kiedy uruchamiam source ~ / .profile, zmienia poprawnie ścieżkę w bieżącym terminalu. Ale kiedy otwieram nowy terminal, nadal widzę " abram ' mac book air " itd. Próbowałem dodać źródłowy ~ / .profile do obu plików .profile i .bashrc, ale nadal bez powodzenia. Jakieś pomysły?
Odpowiedz
Tutaj „jest jeden wiersz dla OSX. Dodaje on żądaną podpowiedź do plik profilu, a następnie ponownie wczytuje profil.
echo "PS1="\w\$ "" >> ~/.bash_profile; source ~/.bash_profile
W El Capitan „będziesz chciał użyć
echo "PS1="\w\$ "" >> ~/.profile; source ~/.profile
Odpowiedź
Z jakiegoś powodu "\w\$"
nie działa dla mnie, ale zamiast tego zrobił: export PS1="$(pwd) \$"
i zadziałało.
Komentarze
- To nie zadziała zbyt dobrze, zmień katalogi …
Odpowiedź
Wygląda na stary wątek, ale poniższe kroki działały dla mnie w systemie operacyjnym X 10.9.5
- umieść
PS1="\w\$ "
w~/.profile
- jeśli wykonałeś wszelkie zmiany w
~/.bashrc
usuń je - zamknij terminal za pomocą cmd+q
- ponownie otwórz terminal
Komentarze
- W moim przypadku kompletna ŚCIEŻKA jest naprawdę duża, więc dodałem jeszcze jedną flagę dla następnej linii, na przykład PS1 = ' \ w \ n \ $ '
Odpowiedź
Proste rozwiązanie
Otwórz ~/.bash_profile
i dodaj następującą zawartość
# \[\e[0m\] resets the color to default color reset_color="\[\e[0m\]" # \[\033[33m\] sets the color to yellow path_color="\[\033[33m\]" # \e[0;32m\ sets the color to green git_clean_color="\[\e[0;32m\]" # \e[0;31m\ sets the color to red git_dirty_color="\[\e[0;31m\]" # determines if the git branch you are on is clean or dirty git_prompt () { # Is this a git directory? if ! git rev-parse --git-dir > /dev/null 2>&1; then return 0 fi # Grab working branch name git_branch=$(git branch 2>/dev/null| sed -n "/^\*/s/^\* //p") # Clean or dirty branch if git diff --quiet 2>/dev/null >&2; then git_color="${git_clean_color}" else git_color="${git_dirty_color}" fi echo " [$git_color$git_branch${reset_color}]" } export PS1="${path_color}\w\[\e[0m\]$(git_prompt)\n"
To powinien:
1) Prompt the path you"re in, in color: path_color. 2) Tell you which branch are you. 3) Color the name of the branch based on the status of the branch with git_clean_color for a clean work directory and git_dirty_color for a dirty one. 4) The brackets should stay in the default color you established in your computer. 5) Puts the prompt in the next line for readability.
Możesz dostosować kolory za pomocą tej
Wyrafinowane rozwiązanie
Inną opcją jest użycie Git Bash Prompt, instalacja z to . Użyłem tej opcji przez Homebrew w Mac OS X.
git_prompt_list_themes
, aby zobaczyć motywy, ale żaden z nich mi się nie podobał.
git_prompt_color_samples
, aby zobaczyć dostępne kolory.
git_prompt_make_custom_theme [<Name of base theme>]
aby utworzyć nowy motyw niestandardowy, powinien utworzyć plik .git -prompt-colors.sh.
subl ~/.git-prompt-colors.sh
, aby otworzyć git-prompt-colors.sh i dostosować:
.git- Plik prompt-colors.sh powinien wyglądać tak z moim dostosowaniem
override_git_prompt_colors() { GIT_PROMPT_THEME_NAME="Custom" # Clean or dirty branch if git diff --quiet 2>/dev/null >&2; then GIT_PROMPT_BRANCH="${Green}" else GIT_PROMPT_BRANCH="${Red}" fi } reload_git_prompt_colors "Custom"
Ta odpowiedź jest oparta na mojej odpowiedzi SO, którą możesz zobaczyć tutaj . Mam nadzieję, że to pomoże, miłego dnia!
Komentarze
- Myślę, że OP miał zamiar po prostu wyświetlić shell ' s katalog roboczy. Jako zwykły użytkownik Gita ' używam również jakiegoś wymyślnego zachęty do obsługi Gita, ale wydaje mi się, że to przesada.
~/.bash_profile
,~/.bash_login
i~/.profile
, w tej kolejności, oraz czyta i wykonuje polecenia od pierwszego, który istnieje i jest czytelny. W każdym razie jest to komentarz, a nie odpowiedź, więc konwertuję go na jeden.