O operador simples >
redireciona o STDOUT para um arquivo. No entanto, seu script está imprimindo para STDERR (consulte o 1>&2
no final de seus comandos echo
). É por isso que você vê o texto no terminal e não no arquivo de log.
Você precisa redirecionar a saída do script usando 2>
(somente redirecionamento STDERR) ou &>
(redirecionar STDOUT e STDERR).
Veja Como faço para salvar a saída do terminal para um arquivo? para mais detalhes sobre redirecionamento de saída para arquivos no Bash.