Quelqu'un connaît-il un moyen de mettre une commande «time» avant chaque commande dans une session bash?
Quelqu'un connaît-il un moyen de mettre une commande «time» avant chaque commande dans une session bash?
Réponses:
Désolé pour la mauvaise réponse avant, j'ai mal compris votre question.
Pour avoir le temps ajouté avant chaque commande que vous exécutez sur le shell, vous pouvez faire quelque chose comme ça
bind 'RETURN: "\e[1~time \e[4~\n"'
Cela va relier la touche de retour. Maintenant, chaque fois que vous appuyez sur retour au lieu d'écrire un retour à la ligne \ n, il ira au début de la ligne, entrez le texte "temps" et un espace, ira à la fin de la ligne et entrez le retour à la ligne \ n produisant ainsi le résultat souhaité effet.
Si vous ne voulez pas sacrifier votre clé d'entrée, vous pouvez créer une `` deuxième '' clé de référence, comme F12 en liant la commande comme ceci
bind '"\e[24~": "\e[1~time \e[4~\n"'
Maintenant, au lieu de remplacer la touche retour, vous avez lié F12.
Le fond de tout cela est que bash utilise GNU readline pour lire les commandes. Ainsi, readline serait un bon point de départ pour une manipulation ultérieure des commandes, etc.
Je me rends compte que cela sort du cadre de cette question mais ...
Dans zsh
(qui, à ma connaissance, est un super ensemble de bash) si vous définissez la variable suivante dans votre .zshrc
fichier:
export REPORTTIME=5
Chaque commande qui dure plus de 5 secondes (je suis presque sûr) affichera la sortie de time
. Toutes les commandes qui s'exécutent plus rapidement ne le font pas. Et dans ces cas, on s'en fout vraiment, donc c'est bien de ne pas encombrer les choses. Il existe également de nombreuses autres fonctionnalités intéressantes zsh
que vous pourriez apprécier pendant que vous y êtes.
Incluez \ t dans votre chaîne d'invite. Il inclura l'heure dans votre invite au moment où vous l'incluez. Voir: http://www.ibm.com/developerworks/linux/library/l-tip-prompt/
La PS1 semble être la façon standard de faire quelque chose comme ça.
time
fait (il mesure le temps nécessaire à l'exécution d'une commande).