Jeg kan udskrive min nuværende arbejdsdir sådan her
myPrompt$ pwd /Users/me/myDir
Jeg vil have min shell at se sådan ud
/Users/me/myDir$ pwd /Users/me/myDir
Er det muligt? Hvordan kan jeg gøre det?
Kommentarer
Svar
Du kan bruge escape-sekvenser i prompt variabler .
Sæt dette i din ~/.bashrc
:
PS1="\w\$ "
Kommentarer
- tak. Jeg foretog den ændring. Nu ser jeg: Abrams-MacBook-Air-3: tmp abramhandler $ pwd; / Brugere / abramhandler / tmp Abrams-MacBook-Air-3: tmp abramhandler $ …. Jeg vil kun vise den del, der siger " tmp " til min anmodning. Hvordan skjuler jeg resten? Jeg vil skjule " abramhandler " og " Abram ' s-MacBook-Air-3 " dele
- @ akh2103 brug
\W
i stedet for\w
. Se linket, som Gilles gav dig for en (kort) forklaring af flugtkoderne. - @terdon Jeg ser det samme med \ W og \ w. Jeg kører Unix på OSX.
- @ akh2103 Hvis du kører OSX og bruger terminalappen, skal du foretage ændringer i ~ / .profile ikke .bashrc, da terminal som standard kører en login-shell. Du skal også kilde ~ / .profile eller åbne en ny terminal for at ændringerne skal træde i kraft. Du skal også redigere for at tilføje flere oplysninger. Jeg kan ' ikke forstå, hvad du beder om fra din sidste kommentar .
- @terdon når jeg kører kilde ~ / .profil, ændrer det stien korrekt i den aktuelle terminal. Men når jeg åbner en ny terminal, ser jeg stadig " abram ' s mac book air " osv. Jeg forsøgte at tilføje kilde ~ / .profile til både .profile- og .bashrc-filerne, men stadig ikke held. Eventuelle ideer?
Svar
Her “er en en-linie til OSX. Den tilføjer den prompt, du vil have til profilfilen og indlæser derefter profilen igen.
echo "PS1="\w\$ "" >> ~/.bash_profile; source ~/.bash_profile
På El Capitan vil du bruge
echo "PS1="\w\$ "" >> ~/.profile; source ~/.profile
Svar
Af en eller anden grund "\w\$"
fungerede ikke for mig, men i stedet for gjorde: export PS1="$(pwd) \$"
og det fungerede.
Kommentarer
- Det fungerer ikke så godt, når du skift mapper …
Svar
Ligner en gammel tråd, men nedenstående trin fungerede for mig på OS X 10.9.5
- sæt
PS1="\w\$ "
i~/.profile
- hvis du lavede eventuelle ændringer i
~/.bashrc
fjern dem - luk terminalen med cmd+q
- genåbner terminalen
Kommentarer
- I mit tilfælde er komplet PATH er virkelig stor, så jeg har tilføjet endnu et flag til næste linje som PS1 = ' \ w \ n \ $ '
Svar
Enkel løsning
Åbn ~/.bash_profile
og tilføj følgende indhold
# \[\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 farverne med denne liste
Sofistikeret løsning
En anden mulighed er at bruge Git Bash Prompt, installer med dette . Jeg brugte muligheden via Homebrew på Mac OS X.
git_prompt_list_themes
for at se temaerne, men jeg kunne ikke lide nogen af dem.
git_prompt_color_samples
for at se tilgængelige farver.
git_prompt_make_custom_theme [<Name of base theme>]
for at oprette et nyt brugerdefineret tema, dette skal skabe en .git -prompt-colors.sh-fil.
subl ~/.git-prompt-colors.sh
for at åbne git-prompt-colors.sh og tilpasse:
.git- prompt-colors.sh-filen skal se sådan ud 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 svar er baseret på mit SO-svar, som du kan se her . Håber det hjælper, have en dejlig dag!
Kommentarer
- Jeg tror, at OP havde til hensigt blot at vise shell ' s arbejdskatalog. Som en almindelig Git-bruger bruger jeg ' også en fancy Git-opmærksom prompt, men det ser ud til at være for stort her.
~/.bash_profile
,~/.bash_login
og~/.profile
i den rækkefølge og læser og udfører kommandoer fra den første, der findes og kan læses. Under alle omstændigheder er dette virkelig en kommentar og ikke et svar, så jeg konverterer den til en.