Hvordan kan jeg endre min bash-ledelse for å vise arbeidskatalogen min?

Jeg kan skrive ut min nåværende arbeidsdirektør slik

myPrompt$ pwd /Users/me/myDir 

Jeg vil ha skallet mitt å se slik ut

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

Er det mulig? Hvordan kan jeg gjøre det?

Kommentarer

  • På OS X er navnet på filen .bash_profile ikke bare .profile. Det vil autolast for deg.
  • Ikke helt. OSX starter påloggingsskjell som standard, og det betyr at bash ser etter ~/.bash_profile, ~/.bash_login og ~/.profile, i den rekkefølgen, og leser og utfører kommandoer fra den første som finnes og er lesbar. I alle fall er dette egentlig en kommentar og ikke et svar, så jeg konverterer den til en.

Svar

Du kan bruke escape-sekvenser i ledeteksten variabler .

Sett dette i ~/.bashrc:

PS1="\w\$ " 

Kommentarer

  • takk. Jeg gjorde den endringen. Nå ser jeg: Abrams-MacBook-Air-3: tmp abramhandler $ pwd; / Brukere / abramhandler / tmp Abrams-MacBook-Air-3: tmp abramhandler $ …. Jeg vil bare vise delen som sier " tmp " for å spørre meg. Hvordan skjuler jeg resten? Jeg vil skjule " abramhandler " og " Abram ' s-MacBook-Air-3 " deler
  • @ akh2103 bruker \W i stedet for \w. Se lenken Gilles ga deg for en (kort) forklaring på rømningskodene.
  • @terdon Jeg ser det samme med \ W og \ w. Jeg kjører Unix på OSX.
  • @ akh2103 Hvis du kjører OSX og bruker terminalappen, bør du gjøre endringer i ~ / .profile ikke .bashrc siden terminal kjører et påloggingsskall som standard. Du bør også kildes ~ / .profile eller åpne en ny terminal for at endringene skal tre i kraft. Vennligst rediger for å legge til mer informasjon. Jeg kan ' ikke forstå hva du ber om fra din siste kommentar .
  • @terdon når jeg kjører kilde ~ / .profil, endrer den banen riktig i den nåværende terminalen. Men når jeg åpner en ny terminal så ser jeg fortsatt " abram ' s mac book air " etc. Jeg prøvde å legge til kilde ~ / .profile til både .profile- og .bashrc-filene, men likevel ikke lykke. Noen ideer?

Svar

Her «er en en-linje for OSX. Den legger til spørringen du ønsker i profilfilen og laster deretter inn profilen på nytt.

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

På El Capitan vil du bruke

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

Svar

Av en eller annen grunn "\w\$" fungerte ikke for meg, men i stedet gjorde: export PS1="$(pwd) \$" og det fungerte.

Kommentarer

  • Det fungerer ikke så bra når du endre kataloger …

Svar

Ser ut som en gammel tråd, men trinnene nedenfor fungerte for meg på operativsystemet X 10.9.5

  • sett PS1="\w\$ " i ~/.profile
  • eventuelle endringer i ~/.bashrc fjern dem
  • lukk terminalen med cmd+q
  • gjenåpne terminalen

Kommentarer

  • I mitt tilfelle komplett PATH er veldig stor, så jeg har lagt til ett flagg til neste linje som PS1 = ' \ w \ n \ $ '

Svar

Enkel løsning

Åpne ~/.bash_profile og legg til følgende innhold

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

Dette skal:

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 tilpasse fargene med denne listen

Sofistikert løsning

Et annet alternativ er å bruke Git Bash Prompt, installer med dette . Jeg brukte alternativet via Homebrew på Mac OS X.

git_prompt_list_themes for å se temaene, men jeg likte ikke noen av dem.

git_prompt_color_samples for å se tilgjengelige farger.

git_prompt_make_custom_theme [<Name of base theme>] for å lage et nytt tilpasset tema, dette skal opprette en .git -prompt-colors.sh-fil.

subl ~/.git-prompt-colors.sh for å åpne git-prompt-colors.sh og tilpasse:

.git- prompt-colors.sh-filen skal se slik ut med min tilpasning

 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" 

Dette svaret er basert på mitt SO-svar som du kan se her . Håper dette hjelper, ha en flott dag!

Kommentarer

  • Jeg tror OP hadde til hensikt å bare vise skallet ' s arbeidskatalog. Som en vanlig Git-bruker bruker jeg ' også noen fancy Git-bevisste spørsmål, men det ser ut til å være for mye her.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *