]> git.nbdom.net Git - nb.git/commitdiff
etc/profile.d/ldap.sh
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Tue, 19 Dec 2017 05:01:09 +0000 (05:01 +0000)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Tue, 19 Dec 2017 05:01:09 +0000 (05:01 +0000)
etc/profile.d/ldap.sh

index 9404cb84a7d436dfa42b4f2646916c1f7d15c236..194ba8aab8dcd2390fb6689eb62d94fb4137931c 100644 (file)
@@ -86,9 +86,10 @@ ldapsearch_csv() {
 }
 
 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
@@ -102,8 +103,12 @@ ldap_gup_dir() {
        (
                [ -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"
 }