Não tente salvar a saída em variáveis e não tente iterar a saída de comandos quando não precisar.
#!/bin/bash
mailto=( [email protected] [email protected] )
tmpfile=$( mktemp )
df | awk '0+$5 > 90' >"$tmpfile"
if [ -s "$tmpfile" ]; then
mail -s 'NOTIFICATION: Some partitions on almost full' "${mailto[@]}" <"$tmpfile"
fi
rm -f "$tmpfile"
Isso envia as linhas relevantes da saída df
aos endereços listados na matriz mailto
se houver linhas cujas porcentagens excedam 90%. O 0+$5
forçará awk
a interpretar o quinto campo como um número. O teste -s
em um arquivo será bem-sucedido se o arquivo não estiver vazio. mktemp
cria um arquivo temporário e retorna seu nome.