Você só precisa mover o }
para incluir o loop for, para colocar tudo no corpo do email.
Eu quero que a saída desse script seja um corpo da mensagem de e-mail, mas não quero redirecioná-lo para um arquivo primeiro e depois para um e-mail, basicamente nenhum arquivo externo de login / saída - toda ação deve ser feita dentro do próprio script - é possível fazê-lo?
Exemplo:
#!/bin/bash
email() {
echo "Results:"
}
for i in $(ls -1 test); do
if [ -f "test/$i" ]; then
echo "'$i' it's a file."
else
echo "'$i' it's a directory."
fi
done
email | mail -s "Test" [email protected]
Saída:
$ ./tmp.sh
'd1' it's a directory.
'f1' it's a file.
Tags bash