Por que o `time` não está no manual do GNU Bash?

11
[fakename]$ help time
time: time [-p] pipeline
    Report time consumed by pipeline's execution...

A partir disso, parece que timeé um Bash embutido. No entanto, não consigo encontrar uma descrição dele nesta página: https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html#Shell-Builtin-Commands . Por que esse é o caso?

extremeaxe5
fonte
1
Use type timepara ver o que é.
Muru
man bashe, em seguida, basta digitar/time
George Vasiliou
e não se esqueça /usr/bin/timeque é semelhante ao bash time, mas diferente ....
ivanivan

Respostas:

22

É descrito na subseção "Shell Grammar / Pipelines" da página de manual do bash . Também é descrito no link que você forneceu na seção Pipelines , onde é indexada em "Palavras reservadas" .

Tubulações

Um pipeline é uma sequência de um ou mais comandos separados por um dos operadores de controle | ou | &. O formato para um pipeline é:

[time [-p]] [ ! ] command [ | or |& command2 ... ] 

A saída padrão do comando é conectada através de um tubo à entrada padrão do comando2. Essa conexão é realizada antes de qualquer redirecionamento especificado pelo comando (consulte REDIRECÇÃO abaixo). Se | & for usado, o erro padrão de comando será conectado à entrada padrão do command2 através do pipe; é uma abreviação de 2> & 1 |. Esse redirecionamento implícito do erro padrão é executado após qualquer redirecionamento especificado pelo comando.

O status de retorno de um pipeline é o status de saída do último comando, a menos que a opção pipefail esteja ativada. Se o pipefail estiver ativado, o status de retorno do pipeline será o valor do último comando (mais à direita) para sair com um status diferente de zero ou zero se todos os comandos forem encerrados com êxito. Se a palavra reservada! precede um pipeline, o status de saída desse pipeline é a negação lógica do status de saída, conforme descrito acima. O shell aguarda a conclusão de todos os comandos no pipeline antes de retornar um valor.

Se a palavra tempo reservado preceder um pipeline, o tempo decorrido e o usuário e do sistema consumidos por sua execução serão relatados quando o pipeline terminar. A opção -p altera o formato de saída para o especificado pelo POSIX. A variável TIMEFORMAT pode ser definida como uma sequência de formato que especifica como as informações de tempo devem ser exibidas; veja a descrição do TIMEFORMAT em Shell Variables abaixo.

Cada comando em um pipeline é executado como um processo separado (isto é, em um subshell).

NickD
fonte
5

O Manual de Referência do Bash pode ser visualizado no console usando info. Em seguida, um usuário pode pesquisar uma palavra-chave nos índices pressionando a tecla i, digitando a palavra-chave e pressionando a tecla Enter. infopula para o primeiro local, no manual, associado à palavra-chave. Pressione ,para acessar outros locais. Para obter mais informações, leia o manual Informações do GNU, online ou no console usando info info. De fato, a coisa mais importante para encontrar rapidamente uma palavra-chave, em um manual, é usar um índice existente.

O fato essencial sobre a questão é que time não é um builtin mas um Bash palavra reservada ou palavra-chave .

# Veja também

Fólkvangr
fonte
Ahhh, obrigada. Sim, estou vendo isso agora com type time. Veja, isso é interessante embora. help helpgera "Exibir informações sobre comandos internos" e ainda helppossui informações de ajuda para palavras-chave?
precisa saber é o seguinte