Jag kan skriva ut min nuvarande arbetsdirektör så här
myPrompt$ pwd /Users/me/myDir
Jag vill ha mitt skal att se ut så här
/Users/me/myDir$ pwd /Users/me/myDir
Är det möjligt? Hur kan jag göra det?
Kommentarer
Svar
Du kan använda escape-sekvenser i prompt variabler .
Lägg detta i din ~/.bashrc
:
PS1="\w\$ "
Kommentarer
- tack. Jag gjorde den förändringen. Nu ser jag: Abrams-MacBook-Air-3: tmp abramhandler $ pwd; / Användare / abramhandler / tmp Abrams-MacBook-Air-3: tmp abramhandler $ …. Jag vill bara visa den del som säger " tmp " för min uppmaning. Hur döljer jag resten? Jag vill dölja " abramhandler " och " Abram ' s-MacBook-Air-3 " delar
- @ akh2103 använder
\W
istället för\w
. Se länken Gilles gav dig för en (kort) förklaring av flyktkoderna. - @terdon Jag ser samma sak med \ W och \ w. Jag kör Unix på OSX.
- @ akh2103 om du kör OSX och använder terminalappen bör du göra ändringar i ~ / .profile inte .bashrc eftersom terminalen kör ett inloggningsskal som standard. Du bör också källa ~ / .profile eller öppna en ny terminal för att ändringarna ska träda i kraft. Snälla redigera för att lägga till mer information, jag kan ' inte förstå vad du ber om från din senaste kommentar .
- @terdon när jag kör källa ~ / .profil ändrar sökvägen ordentligt i den aktuella terminalen. Men när jag öppnar en ny terminal ser jag fortfarande " abram ' s mac book air " etc. Jag försökte lägga till käll ~ / .profile till både .profile- och .bashrc-filerna men ändå ingen tur. Några idéer?
Svara
Här ”är en one-liner för OSX. Den lägger till den uppmaning du vill ha i profilfilen och läser sedan in profilen igen.
echo "PS1="\w\$ "" >> ~/.bash_profile; source ~/.bash_profile
På El Capitan vill du använda
echo "PS1="\w\$ "" >> ~/.profile; source ~/.profile
Svar
Av någon anledning "\w\$"
fungerade inte för mig utan istället gjorde: export PS1="$(pwd) \$"
och det fungerade.
Kommentarer
- Det fungerar inte så bra när du byta katalog …
Svar
Ser ut som en gammal tråd men stegen nedan fungerade för mig på OS X 10.9.5
- sätt
PS1="\w\$ "
i~/.profile
- alla ändringar i
~/.bashrc
ta bort dem - stäng terminalen med cmd+q
- öppna terminalen igen
Kommentarer
- I mitt fall är komplett PATH är riktigt stor så jag har lagt till ytterligare en flagga för nästa rad som PS1 = ' \ w \ n \ $ '
Svar
Enkel lösning
Öppna ~/.bash_profile
och lägg till följande innehåll
# \[\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"
Detta ska:
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.
Du kan anpassa färgerna med denna lista
Sofistikerad lösning
Ett annat alternativ är att använda Git Bash Prompt, installera med detta . Jag använde alternativet via Homebrew på Mac OS X.
git_prompt_list_themes
för att se teman men jag tyckte inte om något av dem.
git_prompt_color_samples
för att se tillgängliga färger.
git_prompt_make_custom_theme [<Name of base theme>]
för att skapa ett nytt anpassat tema bör detta skapa en .git -prompt-colors.sh-fil.
subl ~/.git-prompt-colors.sh
för att öppna git-prompt-colors.sh och anpassa:
.git- prompt-colors.sh-filen ska se ut så här med min anpassning
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"
Detta svar är baserat på mitt SO-svar som du kan se här . Hoppas det hjälper, ha en fantastisk dag!
Kommentarer
- Jag tror att OP hade för avsikt att helt enkelt visa skalet ' s arbetskatalog. Som en vanlig Git-användare använder jag ' också en snygg Git-medveten fråga men det verkar vara överdrivet här.
~/.bash_profile
,~/.bash_login
och~/.profile
i den ordningen och läser och kör kommandon från den första som finns och är läsbar. I vilket fall som helst är detta verkligen en kommentar och inte ett svar så jag konverterar den till en.