Hur kan jag ändra min bash-uppmaning för att visa min arbetskatalog?

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

  • På OS X är filnamnet .bash_profile inte bara .profile. Det laddar automatiskt åt dig.
  • Inte riktigt. OSX startar inloggningsskal som standard och det betyder att bash letar efter ~/.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.

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.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *