Je me demandais s'il était possible d'ajouter des horodatages aux invites du terminal et, si oui, comment y parvenir ?
Réponses
Trop de publicités?Ma solution était d'utiliser http://bashrcgenerator.com/ pour générer cette ligne PS1 à mettre dans .bashrc :
export PS1="\t [\u@\h \W]\\$ \[$(tput sgr0)\]"
Qui ressemblera à
13:05:54 [chad@work-laptop:~/Downloads]$ ls -al
L'utilisation de PROMPT_COMMAND perturbe l'historique pour moi. Lorsqu'une ligne plus longue apparaît pendant que je parcours l'historique, la fin de l'invite est coupée du même nombre de caractères que l'horodatage qui a été ajouté au début. par exemple
13:14:38 [chad@work-laptop:~/Doexport PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\\] "
Et cette ligne ne peut pas être modifiée parce qu'elle n'affiche pas les caractères au bon endroit, c'est-à-dire que vous ne tapez pas là où il semble que vous le fassiez.
Je suppose que cela pourrait être fait avec PROMPT_COMMAND, peut-être en utilisant cette partie [$(tput sgr0)], mais PS1 fonctionne.
Au lieu d'ajouter la date à l'invite elle-même, vous pourriez ajouter la date juste avant votre invite en plaçant la ligne suivante dans le champ top de votre .bashrc
. Pour que cela fonctionne, vous devez également installer cowsay
. C'est une façon amusante d'afficher la date tout en gardant une trace de l'événement. court rapide :
cowsay "Welcome $USER! It's now $(date '+%A %B %d %Y %r')"
Dans sa forme actuelle, il fonctionnera sur le système de n'importe qui sans modification, puisqu'il lit le fichier $USER
et le date
de l'environnement actuel.
Comme je n'ai pas assez de points de réputation pour ajouter un commentaire à la réponse pour l'améliorer. Il semblerait que la seule façon pour moi d'ajouter des informations soit de créer une deuxième réponse. Je vais donc répéter ce qui a été dit comme réponse et m'en inspirer.
Modifiez le fichier .bashrc pour l'utilisateur pour lequel vous souhaitez que l'horodateur soit modifié.
Si vous voyez "user@host:~$", vous êtes dans le répertoire personnel de votre utilisateur actuel. Le fichier .bashrc est un fichier caché puisqu'il est préfixé par le point ".". Pour le voir dans une liste, vous devrez utiliser une liste longue.
Vous pouvez utiliser "ls -a" et vous devriez alors voir le fichier ".bashrc".
Editez le fichier avec un éditeur de texte. Par exemple, "nano .bashrc", "vim .bashrc", "vi .bashrc", "pico .bashrc" ou tout autre éditeur que vous souhaitez utiliser.
Si vous voulez script ceci et prévoyez de l'ajouter à de nombreux shells pour de nombreux utilisateurs, il peut être bénéfique d'utiliser la commande "echo" en conjonction avec l'opérateur append ">>". Par exemple,
echo "export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\\"" >> .bashrc
Si vous utilisez cette méthode, assurez-vous que vous êtes dans le répertoire de travail actuel de l'utilisateur pour lequel vous souhaitez le modifier. Pour vérifier cela, vous pouvez utiliser la commande "pwd" ou imprimer le répertoire de travail.
Si vous n'aimez pas l'espace supplémentaire entre la parenthèse de fin "]" et le nom d'utilisateur, utilisez cette regex très légèrement modifiée :
export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\\"
Utilisez cette option si vous modifiez directement le fichier.
La syntaxe la plus simple pour afficher un horodatage dans une invite de commande serait probablement :
PS1='\D{%F} \t $...'
où
\D{format}
est formaté en date (voir man bash
, section PROMPTING) comme
%F
date complète ; identique à %Y-%m-%d (voir man date
, section FORMAT), et
\t
est l'heure courante au format 24 heures HH:MM:SS (voir man bash
, section PROMPTING)
nano ~/.bashrc
modifier les variables PS1 comme indiqué ci-dessus
source ~/.bashrc
- Réponses précédentes
- Plus de réponses