Parfois, j’expérimente que le temps n’est pas correct et qu’il est plus vieux, comme si il y avait une sorte de retard. Je pensais pouvoir l'utiliser pour voir combien de temps certaines commandes prennent (grunt ..). Comment cela peut-il être?
Kevin Simper
2
@ devav2: Y a-t-il un moyen de spécifier le fuseau horaire?
Hippo
Existe-t-il un moyen d'ajouter également un horodatage au terminal lorsque vous utilisez root? Je n'ai l'horodatage que lorsque je suis un utilisateur normal. Merci
Yufenyuy Veyeh Dider
4
Pour la datecommande, vous pouvez remplacer +%H:%M:%Spar +%T.
Snapfractalpop
5
Cette vissé avec mon emballage terminal, alors j'ai utilisé l'approche détaillée ici . C'est simplement '\ D {% T}' à votre PS1
L'utilisation de PROMPT_COMMAND perturbe l'historique pour moi. Lorsqu'une longue ligne apparaît en parcourant l'historique, elle coupe la fin de l'invite du même nombre de caractères que l'horodatage ajouté à l'avant. par exemple
Le lien ici est idéal pour personnaliser davantage les timbres.
cellepo
16
Au lieu d'ajouter la date à l'invite elle-même, vous pouvez ajouter la date juste avant votre invite en plaçant la ligne suivante en haut de votre .bashrc. Pour que cela fonctionne, vous devrez également installer cowsay. C'est une manière amusante d'afficher la date tout en gardant une courte invite:
Dans sa forme actuelle, il fonctionnera sans modification sur le système de quiconque, car il lit la $USERet la datevariable de l'environnement actuel.
Le but de la mettre dans l'invite est de savoir quand a été exécutée la dernière fois qu'une commande spécifique a été exécutée.
James Oltmans
6
Comme je n'ai pas assez de points de réputation pour ajouter un commentaire à la réponse afin de l'améliorer. Il semblerait que la seule façon pour moi d'ajouter des informations est de créer une deuxième réponse. Donc, je vais répéter ce qui a été dit comme réponse et construire sur cela.
Modifiez le fichier .bashrc de l'utilisateur pour lequel vous souhaitez modifier l'horodatage.
Si vous voyez "utilisateur @ hôte: ~ $", vous vous trouvez dans le répertoire de base de votre utilisateur actuel. Le fichier .bashrc est un fichier caché car il est préfixé du point ".". Pour le voir dans une liste, vous devrez utiliser une longue liste.
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 créer un script et planifier l'ajout de nombreux shells à de nombreux utilisateurs, il peut être intéressant d'utiliser la commande "echo" conjointement avec l'opérateur append ">>". Par exemple,
Si vous utilisez cette méthode, assurez-vous de figurer dans le répertoire de travail en cours de l'utilisateur pour lequel vous souhaitez le modifier. Pour vérifier cela, vous pouvez utiliser le "pwd" ou la commande print working directory.
Si vous n'aimez pas l'espace supplémentaire entre le crochet "]" et le nom d'utilisateur, utilisez simplement cette expression très légèrement modifiée:
Etant donné que la commande echo n'est pas destinée à être évaluée au moment de l'exportation, il est plus logique d'utiliser des guillemets simples pour les guillemets littéraux plutôt que les guillemets doubles. L'utilisation de guillemets simples pour citer la commande entière vous permet ensuite d'utiliser des guillemets doubles pour citer l'argument à la commande echo, ce qui vous évite d'avoir à échapper des caractères spéciaux tels que , [et$
Les échappements sont utilisés pour le formatage (les crochets). Je ne vois pas ce que cela ajoute à la réponse acceptée.
Elder Geek
Vous pouvez les ajouter à 'echo -n "$ (date +% H:% M:% S)"' aussi: 'echo -n "[$ (date +% H:% M:% S)]"' sans besoin de leur échapper. L'avantage d'utiliser une chaîne comme argument de la commande echo est qu'il n'est plus nécessaire d'échapper à ce qui est autrement évaluable par bash, ce qui facilite la lecture.
Qwertyzw
@ ElderGeek, j'ai ajouté des précisions supplémentaires. J'espère que ça aide.
Qwertyzw
0
Je pense que la bonne façon de procéder est de localiser dans $HOME/.bashrcles codes qui les définissent PS1, de les commenter et d’ajouter les codes personnels. Ceci est mon bloc par exemple:
Mon temps est similaire à la cowsayréponse ci-dessus. Vous devez mettre nowvotre ~/.bashrcmais vous pouvez aussi l'appeler depuis le terminal en tapant now.
Voici une capture d'écran:
Le code bash est affiché dans cette réponse très détaillée:
Réponses:
Ajoutez cette ligne au
~/.bashrc
fichier:Donc, le résultat sera quelque chose comme:
la source
date
commande, vous pouvez remplacer+%H:%M:%S
par+%T
.Ma solution a été d'utiliser http://bashrcgenerator.com/ pour générer cette ligne PS1 à insérer en .bashrc:
Qui ressemblera
L'utilisation de PROMPT_COMMAND perturbe l'historique pour moi. Lorsqu'une longue ligne apparaît en parcourant l'historique, elle coupe la fin de l'invite du même nombre de caractères que l'horodatage ajouté à l'avant. par exemple
Et cette ligne ne peut pas être modifiée car elle n’affiche pas les caractères au bon endroit, car vous ne tapez pas à la place.
Je suppose que cela pourrait être fait avec PROMPT_COMMAND, peut-être en utilisant cette partie [$ (tput sgr0)], mais PS1 fonctionne.
la source
Au lieu d'ajouter la date à l'invite elle-même, vous pouvez ajouter la date juste avant votre invite en plaçant la ligne suivante en haut de votre
.bashrc
. Pour que cela fonctionne, vous devrez également installercowsay
. C'est une manière amusante d'afficher la date tout en gardant une courte invite:Dans sa forme actuelle, il fonctionnera sans modification sur le système de quiconque, car il lit la
$USER
et ladate
variable de l'environnement actuel.la source
Comme je n'ai pas assez de points de réputation pour ajouter un commentaire à la réponse afin de l'améliorer. Il semblerait que la seule façon pour moi d'ajouter des informations est de créer une deuxième réponse. Donc, je vais répéter ce qui a été dit comme réponse et construire sur cela.
Modifiez le fichier .bashrc de l'utilisateur pour lequel vous souhaitez modifier l'horodatage.
Si vous voyez "utilisateur @ hôte: ~ $", vous vous trouvez dans le répertoire de base de votre utilisateur actuel. Le fichier .bashrc est un fichier caché car il est préfixé du point ".". Pour le voir dans une liste, vous devrez utiliser une longue liste.
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 créer un script et planifier l'ajout de nombreux shells à de nombreux utilisateurs, il peut être intéressant d'utiliser la commande "echo" conjointement avec l'opérateur append ">>". Par exemple,
Si vous utilisez cette méthode, assurez-vous de figurer dans le répertoire de travail en cours de l'utilisateur pour lequel vous souhaitez le modifier. Pour vérifier cela, vous pouvez utiliser le "pwd" ou la commande print working directory.
Si vous n'aimez pas l'espace supplémentaire entre le crochet "]" et le nom d'utilisateur, utilisez simplement cette expression très légèrement modifiée:
Utilisez ceci si vous éditez directement le fichier.
la source
imprime la date avant chaque invite.
la source
Ouvrez votre
.bashrc
viapuis ajoutez ce qui suit à
.bashrc
:où
\A
est pour time (\W
pour seulement la fin du chemin, supprimez-le si vous voulez le chemin complet du répertoire de travail en cours). Puis tapezVous verrez quelque chose comme ça:
la source
\W
ne montrera aucun chemin du tout.\w
donnera le chemin complet.Juste pour ajouter à la réponse de @ devav2:
Une commande d'écho plus facile à lire pour les débutants serait:
export PROMPT_COMMAND='echo -n "$(date +%H:%M:%S) "'
Au lieu de
export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\ "
Etant donné que la commande echo n'est pas destinée à être évaluée au moment de l'exportation, il est plus logique d'utiliser des guillemets simples pour les guillemets littéraux plutôt que les guillemets doubles. L'utilisation de guillemets simples pour citer la commande entière vous permet ensuite d'utiliser des guillemets doubles pour citer l'argument à la commande echo, ce qui vous évite d'avoir à échapper des caractères spéciaux tels que
,
[
et$
la source
Je pense que la bonne façon de procéder est de localiser dans
$HOME/.bashrc
les codes qui les définissentPS1
, de les commenter et d’ajouter les codes personnels. Ceci est mon bloc par exemple:Sortie:
la source
La syntaxe la plus simple pour afficher un horodatage dans une invite de commande serait probablement la suivante:
où
\D{format}
la date est formatée (voir laman bash
section PROMPTING) comme%F
date complète; identique à% Y-% m-% d (voirman date
section FORMAT), et\t
est l'heure actuelle au format HH: MM: SS sur 24 heures (voir laman bash
section PROMPTING)apporter des modifications aux variables PS1 comme indiqué ci-dessus
la source
Mon temps est similaire à la
cowsay
réponse ci-dessus. Vous devez mettrenow
votre~/.bashrc
mais vous pouvez aussi l'appeler depuis le terminal en tapantnow
.Voici une capture d'écran:
Le code bash est affiché dans cette réponse très détaillée:
la source
au moins a l'air pratique pour moi.
la source