lib/Tools/getenv
changeset 31497 5333aa739082
parent 29143 72c960b2b83e
child 47674 cdf95042e09c
--- a/lib/Tools/getenv	Sat Jun 06 23:43:07 2009 +0200
+++ b/lib/Tools/getenv	Sun Jun 07 19:07:05 2009 +0200
@@ -17,6 +17,8 @@
   echo "  Options are:"
   echo "    -a           display complete environment"
   echo "    -b           print values only (doesn't work for -a)"
+  echo "    -d FILE      dump complete environment to FILE"
+  echo "                 (null terminated entries)"
   echo
   echo "  Get value of VARNAMES from the Isabelle settings."
   echo
@@ -30,8 +32,9 @@
 
 ALL=""
 BASE=""
+DUMP=""
 
-while getopts "ab" OPT
+while getopts "abd:" OPT
 do
   case "$OPT" in
     a)
@@ -40,6 +43,9 @@
     b)
       BASE=true
       ;;
+    d)
+      DUMP="$OPTARG"
+      ;;
     \?)
       usage
       ;;
@@ -68,3 +74,8 @@
     fi
   done
 fi
+
+if [ -n "$DUMP" ]; then
+  exec perl -w -e 'for $key (keys %ENV) { print $key, "=", $ENV{$key}, "\x00"; }' > "$DUMP"
+fi
+