Palavras reservadas Bash vs. comandos internos e formatação da saída do comando time

8

Qual é a diferença entre bash palavras reservadas e comandos internos?

Posso desativar o horário do bash e usá-lo /usr/bin/time? Caso contrário, como posso formatar sua saída?

Qian
fonte
1
Na verdade, existe uma variável de ambiente: TIMEFORMAT que especifica a saída do tempo.
Qian

Respostas:

9

As palavras mais reservadas são comandos construídos no bash; se você deseja usar um executável com o mesmo nome de uma palavra reservada, especifique o caminho completo para o executável ou escape do comando com uma barra invertida.

$ 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

Além disso, a BASH FAQ # 32: "Como redirecionar a saída de 'time' para uma variável ou arquivo?" .

Ignacio Vazquez-Abrams
fonte
A rigor, palavras reservadas não são necessariamente comandos, como seu exemplo demonstra.
JdeBP
1

Você pode usar builtin <cmd>e command <cmd>forçar a chamada de um comando interno ou externo do bash.

user1686
fonte