Tak jsem na to koukal pořádně, co vlastně chceš a největší problém je s tím exit codem, kterej přej pajpu neprotlačíš. Doporučoval bych vytvořit soubor s funkcí, například notify.sh a umístit ho třeba do /usr/local/bin
mail_notify() {
mail_body="Vystup:\n"
mail_body+=$($@)
mail_body+="\n\nExit status: $?"
IFS=''
echo -e $mail_body | mail -s "Vysledek $0" user@domena.tld
}
ve svým skriptu potom použiješ
source notify.sh
a co budeš chtít takto odchytit, tak spustíš použitím mail_notify před příkaz, například
mail_notify ls -lh /
Do mailu ti přijde
Vystup:
total 85K
drwxrwxr-x 2 root root 4.0K Jul 19 07:57 bin
drwxr-xr-x 4 root root 1.0K Jul 19 08:01 boot
drwxr-xr-x 18 root root 3.1K Jul 19 08:01 dev
.....
Exit status: 0
Není to asi úplně neprůstřelný řešení, ale je to jednoduchý na zadání. Blbý je, že to jako parametr požere všechno co je za voláním funkce, takže už se třeba nedá předat jiná mailová adresa - použije se ta, co je natvrdo ve skriptu. To by se dalo ještě upravit nějakým voláním USE_MAIL=mail@neco.ru mail_notify ls -lh /
a patřičnou změnou řádku v notify.sh na
echo -e $mail_body | mail -s "Vysledek $0" $USE_MAIL
nebo ještě lépe testovat USE_MAIL a pokud není nastavená, použít nějakou výchozí adresu, ale to už si pohraj podle toho, co budeš potřebovat.