Accessing environment variables that don't map to valid shell variable names

前端 未结 1 1654
梦如初夏
梦如初夏 2020-12-12 07:19

I\'m trying to figure out how to sanely and portably (as much as possible) deal with environment variables with names that don\'t map to valid shell variables. It is critica

相关标签:
1条回答
  • 2020-12-12 07:51

    One unportable approach (Linux-only) is to parse /proc/self/environ:

    declare -A environ
    while IFS='' read -r -d ''; do
      var=${REPLY%%=*}
      val=${REPLY#*=}
      environ[$var]="$val"
    done </proc/self/environ
    printf '%q\n' "${environ["Invalid Name"]}"
    
    0 讨论(0)
提交回复
热议问题