Bash palabras reservadas vs comandos incorporados, y formatear la salida del comando de tiempo


8

¿Cuál es la diferencia entre bash palabras reservadas y comandos integrados?

¿Puedo desactivar el tiempo de bash y usarlo /usr/bin/time? Si no, ¿cómo puedo formatear su salida?


1
En realidad, hay una variable de entorno: TIMEFORMAT que especifica la salida del tiempo.
Qian

Respuestas:


9

Las palabras más reservadas son comandos integrados en bash; Si desea utilizar un ejecutable que tenga el mismo nombre que una palabra reservada, especifique la ruta completa al ejecutable o escape del comando con una barra diagonal inversa.

$ 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

Además, BASH FAQ # 32: "¿Cómo puedo redirigir la salida de 'tiempo' a una variable o archivo?" .


Estrictamente hablando, las palabras reservadas no son necesariamente comandos, como lo demuestra su ejemplo.
JdeBP

1

Puede usar builtin <cmd>y command <cmd>para forzar la llamada a un bash incorporado o un comando externo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.