}
ldap_gup_dir() {
- local dir="$1" && shift
- cd "$dir" || return
- local perm=$(ls -dlaF --color=auto . 2>/dev/null | awk '{print $3"."$4}')
+ local usage="Usage: ldap_gup_dir [DIR|-tar]"
+ local dir="${1:?$usage}" && shift
+ #cd "$dir" || return
+ local perm=$(ls -dlaF --color=auto "$dir" 2>/dev/null | awk '{print $3"."$4}')
local tmp=`mktemp -d`
eval '
ldap_gup $@ | while IFS=: read -r -a rec; do
(
[ -n "$perm" ] && chown "$perm" "$tmp"/*
chmod 640 "$tmp"/*
- mv "$tmp"/* ./
- ) 2>&1 | true
+ if [ "$dir" = "-tar" ]; then
+ cd "$tmp" && tar cvf - * | cat
+ else
+ mv "$tmp"/* "$dir/"
+ fi
+ ) 2>/dev/null
rm -rf "$tmp"
}