Para oferecer suporte a vários destinatários com esse script específico, use $1
como elemento do caminho e, em seguida, desative isso na lista de parâmetros posicionais. Agora, a lista $@
contém apenas destinatários.
#!/bin/bash
dir=$1
shift
shopt -s nullglob
for file in "/usr/app/tst/$dir/MS_CASE_ST"*.csv; do
uuencode "$file" "$( basename "$file" )" # or uuencode "$file" "${file##*/}"
done | mailx -s 'MS_CASE_ST*.csv file(s) contains data. Please Research' "$@"
Algumas notas:
-
Tenha cuidado e aspas duplas em qualquer expansão de variável, ou você terá problemas quando um nome de caminho contiver espaços ou caracteres de globalização de nome de arquivo, etc. (e strings estáticas de aspas simples).
-
A citação de $@
as "$@"
garante que ela se expanda para elementos citados individualmente.
-
Definindo a opção nullglob
shell em bash
, garantimos que o padrão de globbing que o loop usa se expande para nada se não corresponder a nenhum nome de caminho existente.