base/init: fixed "unset" of vars
authorHarald Hoyer <harald@redhat.com>
Thu, 7 Apr 2011 10:58:02 +0000 (12:58 +0200)
committerHarald Hoyer <harald@redhat.com>
Fri, 8 Apr 2011 11:27:28 +0000 (13:27 +0200)
modules.d/99base/init

index 415bc1d..e85b83b 100755 (executable)
@@ -324,10 +324,16 @@ done
 for i in $(export -p); do
     i=${i#declare -x}
     i=${i#export}
+    strstr "$i" "=" || continue
     # skip RD_ vars
-    [ "$i" != "${i#RD_}" ] && continue
     i=${i%%=*}
-    [ "$i" = "root" -o "$i" = "PATH" -o "$i" = "HOME" -o "$i" = "TERM" ] || unset $i
+    [ -z "$i" ] && continue
+    case $i in
+        root|PATH|HOME|TERM|PS4|RD_*)
+            :;;
+        *)
+            unset "$i";;
+    esac
 done
 
 initargs=""