]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
base: add export_n() function
authorHarald Hoyer <harald@redhat.com>
Mon, 23 Apr 2012 09:28:59 +0000 (11:28 +0200)
committerHarald Hoyer <harald@redhat.com>
Mon, 23 Apr 2012 09:32:45 +0000 (11:32 +0200)
resembles export -n for dash

modules.d/99base/dracut-lib.sh
modules.d/99base/init.sh

index f46c4a748f42c5e05276998cf9c41df1e7b4a494..a4aa20c30e9d5297c6df80a643b77805a1a10af9 100755 (executable)
@@ -821,3 +821,16 @@ emergency_shell()
         exit 1
     fi
 }
+
+# Retain the values of these variables but ensure that they are unexported
+# This is a POSIX-compliant equivalent of bash's "export -n"
+export_n()
+{
+    local var
+    local val
+    for var in "$@"; do
+        eval val=\$$var
+        unset $var
+        [ -n "$val" ] && eval $var=\"$val\"
+    done
+}
index cb0313730132a8246978f1b2f5fa381e5a7223ae..aea739f98c3441d5d2e04dbcd82cea259c7ac6f6 100755 (executable)
@@ -251,7 +251,6 @@ done
     emergency_shell
 }
 
-
 if [ $UDEVVERSION -lt 168 ]; then
     # stop udev queue before killing it
     udevadm control --stop-exec-queue
@@ -268,13 +267,10 @@ else
     udevadm info --cleanup-db
 fi
 
-# Retain the values of these variables but ensure that they are unexported
-# This is a POSIX-compliant equivalent of bash's "export -n"
-for var in root rflags fstype netroot NEWROOT; do
-    eval tmp=\$$var
-    unset $var
-    [ -n "$tmp" ] && eval $var=\"$tmp\"
-done
+debug_off # Turn off debugging for this section
+
+# unexport some vars
+export_n root rflags fstype netroot NEWROOT
 
 export RD_TIMESTAMP
 # Clean up the environment