Jak mohu změnit svou bash výzvu k zobrazení mého pracovního adresáře?

Mohu takto vytisknout svou aktuální pracovní adresář

myPrompt$ pwd /Users/me/myDir 

Chci svůj shell vypadat takto

/Users/me/myDir$ pwd /Users/me/myDir 

Je to možné? Jak to mohu udělat?

Komentáře

  • V systému OS X je název souboru .bash_profile, nejen .profile. To se automaticky načte.
  • Ne tak docela. OSX ve výchozím nastavení spouští přihlašovací skořápky , což znamená, že bash hledá ~/.bash_profile, ~/.bash_login a ~/.profile v tomto pořadí a čte a provádí příkazy od prvního, který existuje a je čitelný. V každém případě jde opravdu o komentář, nikoli o odpověď, takže jej převádím na jednu.

Odpověď

Ve výzvách proměnných můžete použít řídicí sekvence .

Vložte toto do ~/.bashrc:

PS1="\w\$ " 

komentářů

  • děkuji. Udělal jsem tu změnu. Nyní vidím: Abrams-MacBook-Air-3: tmp abramhandler $ pwd; / Users / abramhandler / tmp Abrams-MacBook-Air-3: tmp abramhandler $ …. Chci ukázat pouze část, která říká " tmp " na mou výzvu. Jak mohu skrýt zbytek? Chci skrýt " abramhandler " a " Abram ' s-MacBook-Air-3 " části
  • @ akh2103 používají \W místo \w. Podívejte se na odkaz, který vám dal Gilles pro (krátké) vysvětlení únikových kódů.
  • @terdon Vidím totéž s \ W a \ w. Používám Unix na OSX.
  • @ akh2103, pokud používáte OSX a používáte aplikaci terminálu, měli byste provést změny v ~ / .profile ne .bashrc, protože terminál ve výchozím nastavení spouští přihlašovací shell. Aby se změny projevily, měli byste také vytvořit ~ / .profile nebo otevřít nový terminál. Také prosím upravte a přidejte další informace. ' nechápu, o co od posledního komentáře žádáte .
  • @terdon když spustím source ~ / .profile, změní to cestu správně v aktuálním terminálu. Ale když otevřu nový terminál, stále vidím " abram ' s mac book air " atd. Zkoušel jsem přidat zdroj ~ / .profile do souborů .profile i .bashrc, ale stále nemám štěstí. Nějaké nápady?

Odpovědět

Tady je jedna linka pro OSX. Připojí výzvu, do které chcete soubor profilu a poté profil znovu načte.

echo "PS1="\w\$ "" >> ~/.bash_profile; source ~/.bash_profile 

Na El Capitan budete chtít použít

echo "PS1="\w\$ "" >> ~/.profile; source ~/.profile 

Odpověď

Z nějakého důvodu "\w\$" pro mě nepracoval, ale místo toho did: export PS1="$(pwd) \$" a fungovalo to.

Komentáře

  • To nebude fungovat příliš dobře, když změnit adresáře …

odpověď

Vypadá to jako staré vlákno, ale níže uvedené kroky fungovaly pro mě v OS X 10.9.5

  • vložte PS1="\w\$ " do ~/.profile
  • pokud jste vytvořili jakékoli změny v ~/.bashrc jejich odstranění
  • zavřete terminál pomocí cmd+q
  • znovu otevřete terminál

Komentáře

  • V mém případě Complete PATH is really big so I added one more flag for next line like PS1 = ' \ w \ n \ $ '

Odpověď

Jednoduché řešení

Otevřete ~/.bash_profile a přidejte následující obsah

# \[\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" 

Toto by:

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. 

Barvy můžete přizpůsobit pomocí tohoto seznamu

Sofistikované řešení

Další možností je použít Git Bash Prompt, nainstalovat pomocí toto . Tuto možnost jsem použil přes Homebrew v systému Mac OS X.

git_prompt_list_themes k zobrazení témat, ale žádný z nich se mi nelíbil.

git_prompt_color_samples zobrazíte dostupné barvy.

git_prompt_make_custom_theme [<Name of base theme>] k vytvoření nového vlastního motivu by měl být vytvořen soubor .git soubor -prompt-colors.sh.

subl ~/.git-prompt-colors.sh otevřete soubor git-prompt-colors.sh a přizpůsobte jej:

Soubor .git- Soubor prompt-colors.sh by měl s mým přizpůsobením vypadat takto

 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" 

Tato odpověď je založena na mé SO odpovědi, kterou můžete vidět zde . Doufám, že to pomůže, přeji krásný den!

Komentáře

  • Myslím, že OP měl v úmyslu jednoduše zobrazit shell ' s pracovní adresář. Jako běžný uživatel Gitu používám ' m také nějakou fantastickou výzvu pro Git, ale zdá se, že je to zde přehnané.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *