¿Cómo puedo cambiar mi indicador de bash para mostrar mi directorio de trabajo?

Puedo imprimir mi directorio de trabajo actual así

myPrompt$ pwd /Users/me/myDir 

Quiero mi shell para verse así

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

¿Es eso posible? ¿Cómo puedo hacerlo?

Comentarios

  • En OS X, el nombre del archivo es .bash_profile no solo .profile. Eso se cargará automáticamente.
  • No del todo. OSX inicia shells de inicio de sesión de forma predeterminada y eso significa que bash busca ~/.bash_profile, ~/.bash_login y ~/.profile, en ese orden, y lee y ejecuta comandos desde el primero que existe y es legible. En cualquier caso, esto es realmente un comentario y no una respuesta, así que lo estoy convirtiendo en uno.

Respuesta

Puede usar secuencias de escape en las variables del indicador.

Pon esto en tus ~/.bashrc:

PS1="\w\$ " 

Comentarios

  • gracias. Hice ese cambio. Ahora veo: Abrams-MacBook-Air-3: tmp abramhandler $ pwd; / Users / abramhandler / tmp Abrams-MacBook-Air-3: tmp abramhandler $ …. Quiero mostrar solo la parte que dice » tmp » para mi mensaje. ¿Cómo escondo el resto? Quiero ocultar » abramhandler » y » Abram ‘ s-MacBook-Air-3 » partes
  • @ akh2103 use \W en lugar de \w. Vea el enlace que Gilles le dio para obtener una explicación (breve) de los códigos de escape.
  • @terdon Veo lo mismo con \ W y \ w. Estoy ejecutando Unix en OSX.
  • @ akh2103 si está ejecutando OSX y usa la aplicación de terminal, debe realizar cambios en ~ / .profile, no en .bashrc, ya que el terminal ejecuta un shell de inicio de sesión de forma predeterminada. También debe obtener ~ / .profile o abrir una nueva terminal para que los cambios surtan efecto. Además, edite para agregar más información. No puedo ‘ entender lo que está pidiendo en su último comentario. .
  • @terdon cuando ejecuto source ~ / .profile cambia la ruta correctamente en la terminal actual. Pero cuando abro una nueva terminal, todavía veo » abram ‘ s mac book air » etc. Intenté agregar fuente ~ / .profile a los archivos .profile y .bashrc pero aún así no tuve suerte. ¿Alguna idea?

Responder

Aquí hay una sola línea para OSX. Agrega el mensaje que desea en el archivo de perfil y luego vuelve a cargar el perfil.

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

En El Capitan «querrás usar

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

Respuesta

Por alguna razón "\w\$" no funcionó para mí, pero en su lugar did: export PS1="$(pwd) \$" y funcionó.

Comentarios

  • Eso no funcionará muy bien cuando cambiar directorios …

Responder

Parece un hilo antiguo, pero los pasos a continuación me funcionaron en el sistema operativo X 10.9.5

  • ponga PS1="\w\$ " en ~/.profile
  • si hizo cualquier cambio en ~/.bashrc eliminarlos
  • cerrar la terminal con cmd+q
  • reabrir la terminal

Comentarios

  • En mi caso, el La RUTA completa es realmente grande, así que agregué una bandera más para la siguiente línea como PS1 = ‘ \ w \ n \ $ ‘

Respuesta

Solución simple

Abra ~/.bash_profile y agregue el siguiente contenido

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

Este debería:

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. 

Puede personalizar los colores con esta lista

Solución sofisticada

Otra opción es usar Git Bash Prompt, instalar con esto . Usé la opción a través de Homebrew en Mac OS X.

git_prompt_list_themes para ver los temas, pero no me gustó ninguno de ellos.

git_prompt_color_samples para ver los colores disponibles.

git_prompt_make_custom_theme [<Name of base theme>] para crear un nuevo tema personalizado, esto debería crear un .git -prompt-colors.sh archivo.

subl ~/.git-prompt-colors.sh para abrir git-prompt-colors.sh y personalizar:

El .git- El archivo prompt-colors.sh debería verse así con mi personalización

 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" 

Esta respuesta se basa en mi respuesta SO que puede ver aquí . Espero que esto te ayude, ¡que tengas un gran día!

Comentarios

  • Creo que el OP tenía la intención de mostrar simplemente el shell ‘ s directorio de trabajo. Como usuario habitual de Git, ‘ también estoy usando un elegante indicador compatible con Git, pero eso parece ser excesivo aquí.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *