É um comportamento esperado, que um arquivo someFile.txt
será criado. Se esse arquivo contém ou não alguma coisa, depende do que seu programa foo
deve fazer.
Qualquer que seja o problema que você esteja encontrando, não parece estar relacionado ao redirecionamento de saída. Você pode tentar seguir o comando como um teste:
cat > someFile.txt
digite qualquer coisa. Tudo o que você digitou será redirecionado para someFile.txt
(final com ctrl + d ).
Por outro lado, o arquivo de saída está sendo criado pelo seu shell, não pelo seu programa foo
. Mesmo se você digitar um comando inexistente, o arquivo de saída ainda será criado (vazio):
/bin/nonexistent > zzz