summary refs log tree commit diff
path: root/pkgs/stdenv/generic/setup.sh
diff options
context:
space:
mode:
authorOrivej Desh <orivej@gmx.fr>2017-08-31 18:26:38 +0000
committerOrivej Desh <orivej@gmx.fr>2017-09-03 12:57:08 +0000
commitf4044c1ccc2361b3c127e4a9a84023a386512575 (patch)
tree78e0d48dfc6cca2a527b840bfabf65306a96c7a4 /pkgs/stdenv/generic/setup.sh
parenta09d9e7cd425fb589105363f59388b2cf66c3c86 (diff)
downloadnixlib-f4044c1ccc2361b3c127e4a9a84023a386512575.tar
nixlib-f4044c1ccc2361b3c127e4a9a84023a386512575.tar.gz
nixlib-f4044c1ccc2361b3c127e4a9a84023a386512575.tar.bz2
nixlib-f4044c1ccc2361b3c127e4a9a84023a386512575.tar.lz
nixlib-f4044c1ccc2361b3c127e4a9a84023a386512575.tar.xz
nixlib-f4044c1ccc2361b3c127e4a9a84023a386512575.tar.zst
nixlib-f4044c1ccc2361b3c127e4a9a84023a386512575.zip
stdenv-setup: list environment variables with awk
Diffstat (limited to 'pkgs/stdenv/generic/setup.sh')
-rw-r--r--pkgs/stdenv/generic/setup.sh13
1 files changed, 2 insertions, 11 deletions
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index ff482241570c..61877701b716 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -530,15 +530,6 @@ substituteInPlace() {
     substitute "$fileName" "$fileName" "$@"
 }
 
-# List the names of the environment variables that are valid Bash names.
-listVars() {
-    # "export" prints "declare -x name=value", quoted for eval.
-    declare() {
-        echo "${2%%=*}"
-    }
-    eval "$(export)"
-    unset declare
-}
 
 # Substitute all environment variables that start with a lowercase character and
 # are valid Bash names.
@@ -547,9 +538,9 @@ substituteAll() {
     local output="$2"
     local -a args=()
 
-    for varName in $(listVars | grep '^[a-z]'); do
+    for varName in $(awk 'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }'); do
         if [ "${NIX_DEBUG:-}" = "1" ]; then
-            echo "@${varName}@ -> '${!varName}'"
+            printf "@%s@ -> %q\n" "${varName}" "${!varName}"
         fi
         args+=("--subst-var" "$varName")
     done