1 votes

Lorsque je définis une exportation PROMPT_COMMAND, cela modifie les paramètres de mon terminal?

Alors, je voulais ajouter un horodatage à mon invite de terminal et j'ai suivi cette réponse askUbuntu pour le faire. Et ça fonctionne bien. Dans les préférences de mon terminal, j'ai configuré la nouvelle fenêtre pour ouvrir le répertoire de travail actuel. Après avoir ajouté l'export PROMPT_COMMAND dans .bash_profile, cependant ma nouvelle fenêtre ouvre le répertoire par défaut. Quand je commente cette ligne, tout fonctionne normalement à nouveau.

Pourquoi cela se produit-il? Comment puis-je obtenir des horodatages sur mon invite de terminal sans perturber mes paramètres de nouvelle fenêtre

2voto

nohillside Points 82672

Le problème est que PROMPT_COMMAND est utilisé par le système bash pour activer l'historique par session. Si vous regardez dans /etc/bashrc_Apple_Terminal vous verrez

# Notez que cela utilise PROMPT_COMMAND pour activer l'historique par session
# la première fois pour chaque nouvelle session. Si vous personnalisez PROMPT_COMMAND
# assurez-vous d'inclure la valeur précédente. par exemple,
#
#   PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND; }your_code_here"

Donc, si vous souhaitez suivre les recommandations de l'avis auquel vous avez lié, il vaut mieux simplement utiliser

export PS1="\t [\u@\h \W]\\$ \[$(tput sgr0)\]"

ou similaire. Si vous voulez vraiment utiliser PROMPT_COMMAND

PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND; }echo -n \[\$(date +%H:%M:%S)\]\ "

mais l'invite sera perturbée si vous naviguez dans le temps avec Ctrl-P.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X