Hogyan változtathatom meg a bash parancsot a munkakönyvtár megjelenítéséhez?

Így tudom kinyomtatni a jelenlegi dolgozó dir-t

myPrompt$ pwd /Users/me/myDir 

Szeretném a shellemet hogy így nézzen ki

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

Ez lehetséges? Hogyan tudom megtenni?

Megjegyzések

  • OS X rendszeren a fájl neve .bash_profile nem csak .profile. Ez automatikusan szólal meg.
  • Nem egészen. Az OSX alapértelmezés szerint elindítja a bejelentkezési héjakat , ami azt jelenti, hogy a bash a következőt keresi: ~/.bash_profile, ~/.bash_login és ~/.profile sorrendben, és az első létező és olvasható parancsokat olvassa és hajtja végre. Mindenesetre ez valóban egy megjegyzés, és nem válasz, ezért átalakítom.

Válasz

Használhatja a menekülési szekvenciákat a változókban .

Tegye ezt a ~/.bashrc:

PS1="\w\$ " 

megjegyzések

  • köszi. Végeztem el ezt a változást. Most látom: Abrams-MacBook-Air-3: tmp abramhandler $ pwd; / Users / abramhandler / tmp Abrams-MacBook-Air-3: tmp abramhandler $ …. Csak azt a részt szeretném megjeleníteni, amelyik a következőt írja: " tmp " az azonnali. Hogyan rejthetem el a többit? El akarom rejteni a " abramhandler " és " Abram ' s-MacBook-Air-3 " alkatrészek
  • @ akh2103 \W helyett \w. Lásd a linket, amelyet Gilles adott neked a menekülési kódok (rövid) magyarázatához.
  • @terdon Ugyanazt látom \ W és \ w esetén. A Unix rendszert futtatom OSX rendszeren.
  • @ akh2103, ha OSX rendszert futtat, és a terminál alkalmazást használja, akkor változtatnia kell a ~ / .profile fájlban. A ~ / .profile forrást is meg kell nyitnia, vagy új terminált kell nyitnia a változások életbe léptetéséhez. Kérjük, szerkesztéssel további információk hozzáadásához ' nem tudom megérteni, hogy mit kér az utolsó megjegyzéséből .
  • @terdon amikor a ~ / .profile fájlt futtatom, az megfelelően megváltoztatja az elérési utat az aktuális terminálon. De amikor új terminált nyitok, akkor is látom a " abram ' s mac book air " stb. Megpróbáltam hozzáadni a ~ / .profile forrást mind a .profile, mind a .bashrc fájlokhoz, de mégsem volt szerencsém. Van valami ötlet?

Válasz

Itt egyvonalas OSX. Csatolja a kívánt parancsot a profilfájlt, majd újratölti a profilt.

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

El Capitan-en használni fogod

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

Válasz

Valamiért "\w\$" nem működött nálam, hanem én tette: export PS1="$(pwd) \$" és működött.

Megjegyzések

  • Ez nem fog túl jól működni, ha könyvtárak módosítása …

Válasz

Régi szálnak tűnik, de az alábbi lépések nekem beváltak operációs rendszeren X 10.9.5

  • tegye a PS1="\w\$ " elemet a ~/.profile
  • helyre, ha elkészítette minden változás a ~/.bashrc fájlban eltávolítva
  • zárja be a terminált a cmd+q
  • nyissa meg újra a terminált

Megjegyzések

  • Esetemben a a teljes PATH valóban nagy, ezért felvettem még egy zászlót a következő sorhoz, például PS1 = ' \ w \ n \ $ '

Válasz

Egyszerű megoldás

Nyissa meg a ~/.bash_profile fájlt, és adja hozzá a következő tartalmat

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

Ez kéne:

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. 

A színek testre szabhatók ezzel a listával

Kifinomult megoldás

Egy másik lehetőség a Git Bash Prompt használata, telepítés a ezt . Az opciót a Homebrew-n keresztül használtam Mac OS X-en.

git_prompt_list_themes a témák megtekintéséhez, de egyikük sem tetszett.

git_prompt_color_samples az elérhető színek megtekintéséhez.

git_prompt_make_custom_theme [<Name of base theme>] új egyéni téma létrehozásához ennek létre kell hoznia .git -prompt-colors.sh fájl.

subl ~/.git-prompt-colors.sh a git-prompt-colors.sh megnyitásához és testreszabásához:

A .git- A prompt-colors.sh fájlnak így kell kinéznie a testreszabásommal.

 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" 

Ez a válasz az SO válaszomon alapul, amelyet láthat itt . Remélem, ez segít, jó napot kívánunk!

Megjegyzések

  • Azt hiszem, hogy az OP egyszerűen a shell ' s parancsot kívánta megjeleníteni munkakönyvtár. Rendszeres Git felhasználóként ' szintén használok valamilyen divatos Git-tudatos parancsot, de úgy tűnik, hogy ez itt túlzott.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük