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
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é.
~/.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.