Al trabajar con el timecomando, me encontré con una situación en la que debería usar el timecomando de tiempo GNU incorporado en lugar del externo /usr/bin/time. Entonces, ¿cómo puedo hacer esto? Vi en alguna parte que usar enabley / o commandayudaría, pero no lo hicieron.
Este es un caso de uso:
watch "time ls"
que usa el /usr/bin/timecomando externo , que no quiero! Esto sucede cuando timeinvoca la función bash interna cuando ejecuto time lsen una terminal, así:
$ time ls
Tenga en cuenta que la solicitud exactamente opuesta ha sido respondida aquí:
Hay mucha diferencia con dos comandos. El interno timees más preciso (que quiero), pero el comando externo tiene más opciones (que no necesito).

watch 'bash -c "builtin time ls"'¿quizás?builtin timedebe hacer el truco.timeno está incorporadobash, es una palabra reservada del idioma para que pueda programar las tuberías (comotime foo | bar) o los comandos compuestos (comotime for i in...;done)Respuestas:
Por defecto,
watchse ejecuta el comando con/bin/sh -c '...'lo que la salida se ve es cómo/bin/shinterpreta eltimecomando. Al/bin/shparecer, no tiene un incorporadotime.Para ejecutar el comando con un shell diferente, use la
-xopción para deshacerse del valor predeterminado, luego agregue su propia invocación explícita del shell cuya construcción desea.No importa cómo se ejecute
watch, el comando que está viendo no es un elemento secundario del shell que ejecutó elwatchcomando, por lo que la configuración del shell no es directamente relevante.fuente