Jak mogę zmienić podpowiedź basha, aby pokazywała mój katalog roboczy?

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

  • W systemie OS X nazwa pliku to .bash_profile, a nie tylko .profile. To załaduje się automatycznie.
  • Niezupełnie. OSX domyślnie uruchamia powłoki logowania , co oznacza, że bash szuka ~/.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.

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.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *