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).
type time
para ver o que é.