Você pode fazer um loop pelos diretórios dos quais deseja fazer backup. Observe o uso da variável err
para acompanhar qualquer erro.
err=0
for d in ~/Documents ~/Pictures ~/Videos; do
if [ -d "$d" ]; then
ditto "$d" ~/BACKUP/"${d##*/}" || err=1
else
echo 1>&2 "Missing directory: $d"
err=1
fi
done
exit $err
Como alternativa, você pode criar uma função que manipule um diretório e o chame várias vezes. Observe o uso de err
novamente.
backup () {
if [ -d "$1" ]; then
ditto "$1" "$2" || err=1
else
echo 1>&2 "Missing directory: $1"
err=1
fi
}
err=0
backup ~/Documents ~/BACKUPS/Documents
backup ~/Pictures ~/BACKUPS/Pictures
backup ~/Videos ~/BACKUPS/Videos