Bash mots réservés vs commandes intégrées et formatage de la sortie de la commande time

8

Quelle est la différence entre les mots réservés bash et les commandes intégrées?

Puis-je désactiver le temps de bash et l'utiliser /usr/bin/time? Sinon, comment puis-je formater sa sortie?

Qian
la source
1
Il existe en fait une variable d'environnement: TIMEFORMAT qui spécifie la sortie du temps.
Qian

Réponses:

9

La plupart des mots réservés sont des commandes intégrées à bash; si vous souhaitez utiliser un exécutable portant le même nom qu'un mot réservé, spécifiez le chemin d'accès complet à l'exécutable ou échappez à la commande avec une barre oblique inverse.

$ time

real    0m0.000s
user    0m0.000s
sys 0m0.000s
$ \time
Usage: time [-apvV] [-f format] [-o file] [--append] [--verbose]
       [--portability] [--format=format] [--output=file] [--version]
       [--help] command [arg...]
$ then
bash: syntax error near unexpected token `then'
$ \then
bash: then: command not found

Aussi, BASH FAQ # 32: "Comment puis-je rediriger la sortie de" time "vers une variable ou un fichier?" .

Ignacio Vazquez-Abrams
la source
À strictement parler, les mots réservés ne sont pas nécessairement des commandes du tout, comme le montre même votre exemple.
JdeBP
1

Vous pouvez utiliser builtin <cmd>et command <cmd>pour forcer l'appel d'une commande bash intégrée ou externe.

user1686
la source