Comment puis-je modifier mon invite bash pour afficher mon répertoire de travail?

Je peux imprimer mon répertoire de travail actuel comme ceci

myPrompt$ pwd /Users/me/myDir 

Je veux mon shell ressembler à ceci

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

Est-ce possible? Comment puis-je faire?

Commentaires

  • Sous OS X, le nom du fichier est .bash_profile et pas seulement .profile. Cela se chargera automatiquement pour vous.
  • Pas tout à fait. OSX démarre les shells de connexion par défaut, ce qui signifie que bash recherche ~/.bash_profile, ~/.bash_login et ~/.profile, dans cet ordre, et lit et exécute les commandes à partir du premier qui existe et est lisible. Dans tous les cas, cest vraiment un commentaire et non une réponse, donc je le convertis en un.

Réponse

Vous pouvez utiliser des séquences déchappement dans linvite variables .

Mettez ceci dans vos ~/.bashrc:

PS1="\w\$ " 

Commentaires

  • merci. Jai fait ce changement. Maintenant je vois: Abrams-MacBook-Air-3: tmp abramhandler $ pwd; / Users / abramhandler / tmp Abrams-MacBook-Air-3: tmp abramhandler $ …. Je veux afficher uniquement la partie qui dit  » tmp  » pour mon invite. Comment cacher le reste? Je souhaite masquer  » abramhandler  » et  » Abram ‘ s-MacBook-Air-3  » pièces
  • @ akh2103 utilisez \W au lieu de \w. Voir le lien que Gilles vous a donné pour une (courte) explication des codes déchappement.
  • @terdon Je vois la même chose avec \ W et \ w. Jutilise Unix sous OSX.
  • @ akh2103 si vous exécutez OSX et utilisez lapplication de terminal, vous devez apporter des modifications à ~ / .profile et non à .bashrc car le terminal exécute un shell de connexion par défaut. Vous devez également rechercher ~ / .profile ou ouvrir un nouveau terminal pour que les modifications prennent effet. Veuillez également modifier pour ajouter plus dinformations, je ne peux ‘ pas comprendre ce que vous demandez dans votre dernier commentaire .
  • @terdon quand jexécute source ~ / .profile cela change le chemin correctement dans le terminal actuel. Mais lorsque jouvre un nouveau terminal, je vois toujours  » abram ‘ s mac book air  » etc. Jai essayé dajouter source ~ / .profile aux fichiers .profile et .bashrc mais toujours pas de chance. Des idées?

Réponse

Voici « un guide unique pour OSX. Il ajoute linvite souhaitée dans le fichier de profil, puis recharge le profil.

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

Sur El Capitan, vous « voudrez utiliser

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

Réponse

Pour une raison quelconque, "\w\$" na pas fonctionné pour moi mais à la place je did: export PS1="$(pwd) \$" et cela a fonctionné.

Commentaires

  • Cela ne fonctionnera pas très bien lorsque vous changer de répertoire …

Réponse

On dirait un vieux fil de discussion, mais les étapes ci-dessous ont fonctionné pour moi sur OS X 10.9.5

  • mettez PS1="\w\$ " dans ~/.profile
  • si vous avez fait toute modification apportée à ~/.bashrc les supprimer
  • fermer le terminal avec cmd+q
  • rouvrir le terminal

Commentaires

  • Dans mon cas, le PATH complet est vraiment gros, jai donc ajouté un autre indicateur pour la ligne suivante comme PS1 = ‘ \ w \ n \ $ ‘

Réponse

Solution simple

Ouvrez ~/.bash_profile et ajoutez le contenu suivant

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

Ce devrait:

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. 

Vous pouvez personnaliser les couleurs avec cette liste

Solution sophistiquée

Une autre option consiste à utiliser Git Bash Prompt, installer avec ceci . Jai utilisé loption via Homebrew sur Mac OS X.

git_prompt_list_themes pour voir les thèmes mais je nai aimé aucun dentre eux.

git_prompt_color_samples pour voir les couleurs disponibles.

git_prompt_make_custom_theme [<Name of base theme>] pour créer un nouveau thème personnalisé, cela devrait créer un .git -prompt-colors.sh file.

subl ~/.git-prompt-colors.sh pour ouvrir git-prompt-colors.sh et personnaliser:

Le .git- Le fichier prompt-colors.sh devrait ressembler à ceci avec ma personnalisation

 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" 

Cette réponse est basée sur ma réponse SO que vous pouvez voir ici . Jespère que cela vous aidera, passez une excellente journée!

Commentaires

  • Je pense que lOP avait lintention dafficher simplement le shell ‘ s répertoire de travail. En tant quutilisateur Git régulier, je ‘ utilise également une invite sophistiquée compatible Git, mais cela semble exagéré ici.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *