Eu diria porque é quase desnecessário criar um arquivo vazio que você não preencherá com conteúdo imediatamente na linha de comando ou no script de shell.
Não há absolutamente nenhum benefício em criar um arquivo primeiro e depois usar o redirecionamento de E / S para gravar no arquivo, se você puder fazer isso em uma única etapa.
Nos casos em que você realmente deseja criar um arquivo vazio e deixá-lo, eu diria que > "${file}"
não poderia ser mais breve e elegante.
TL; DR : não existe porque criar arquivos vazios na maioria das vezes não tem uso e, em alguns casos, já existe uma infinidade de opções disponíveis para atingir essa meta.
Em uma nota secundária, usar touch
só funciona se o arquivo não existir enquanto as opções que usam redirecionamento sempre truncarão o arquivo, mesmo que ele exista (portanto, tecnicamente, essas soluções não são idênticas). > foo
é o método preferido, já que salva fork
e echo -n
deve ser evitado em geral, já que é altamente não suportável.