add verbose mode to log removals
authorIan Kelling <ian@iankelling.org>
Sun, 5 Feb 2017 04:08:17 +0000 (20:08 -0800)
committerIan Kelling <ian@iankelling.org>
Sun, 5 Feb 2017 04:08:17 +0000 (20:08 -0800)
lnf

diff --git a/lnf b/lnf
index 2518c1c4ac60cf35147ba72bdc886c252759bbe2..50d8c3a63f75eb23b4b9d8fea7fbc8644e8481e4 100755 (executable)
--- a/lnf
+++ b/lnf
@@ -15,7 +15,10 @@ Create directory if needed. Slightly more restrictive arguments than ln.
 
 In the 1st form, create a link to TARGET with the name LINK_NAME.  In the 2nd
 form, create a link to TARGET in the current directory.  In the 3rd form, create
 
 In the 1st form, create a link to TARGET with the name LINK_NAME.  In the 2nd
 form, create a link to TARGET in the current directory.  In the 3rd form, create
-links to each TARGET in DIRECTORY."
+links to each TARGET in DIRECTORY.
+
+Do export LNF_VERBOSE=true for verbose output
+"
 
     if [[ $1 == --help || $1 == -h || $# -eq 0 ]]; then
         echo "$help"
 
     if [[ $1 == --help || $1 == -h || $# -eq 0 ]]; then
         echo "$help"
@@ -72,6 +75,9 @@ links to each TARGET in DIRECTORY."
     fi
     if (( ${#to_remove[@]} >= 1 )); then
         if type -P trash-put >/dev/null; then
     fi
     if (( ${#to_remove[@]} >= 1 )); then
         if type -P trash-put >/dev/null; then
+            if [[ $LNF_VERBOSE == true ]]; then
+                echo "lnf: trash-put -- ${to_remove[*]}"
+            fi
             trash-put -- "${to_remove[@]}" || ret=$?
             # trash-put will fail to trash a link that goes across filesystems (72),
             # and for empty files (74)
             trash-put -- "${to_remove[@]}" || ret=$?
             # trash-put will fail to trash a link that goes across filesystems (72),
             # and for empty files (74)
@@ -86,6 +92,9 @@ links to each TARGET in DIRECTORY."
                 return $x
             fi
         else
                 return $x
             fi
         else
+            if [[ $LNF_VERBOSE == true ]]; then
+                echo "lnf: rm -rf -- ${to_remove[*]}"
+            fi
             rm -rf -- "${to_remove[@]}"
         fi
     fi
             rm -rf -- "${to_remove[@]}"
         fi
     fi