Quando redireciono a saída de um comando para um arquivo (por exemplo, echo Hello > file
), esse arquivo terá garantia de ter esses dados logo após a saída do comando? Ou ainda existe uma janela muito pequena entre as saídas do comando e os dados gravados no arquivo? Gostaria de ler o arquivo logo após a saída do comando, mas não quero ler um arquivo vazio.
echo
e >
os processos não separadas (curta duração)? E onde é que a saída de echo
permanecer antes >
é executada?
>
é redirecionamento de shell. É o mesmo que se o programa tivesse aberto o arquivo nomeado para gravação e substituído o stdout por ele, exatamente o que o shell faz.
file
conteúdo, Hello
independentemente de ele ser liberado ou não.