代码之家  ›  专栏  ›  技术社区  ›  w113msh

提取未设置脚本的变量名

  •  0
  • w113msh  · 技术社区  · 1 年前

    我有一个.env文件,其中包含信息,包括环境变量。例如

    # comment
    <mini script>
    
    export NAME="John Doe"
    export LOCATION="US"
    export TZ_LOCAL="NY"
    

    当运行时,我能够拥有这些环境变量;但是,完成后,脚本将运行到 unset 环境变量。

    这是这样做的片段:

    unset $(grep 'export' env | awk 'BEGIN { FS = "=" }; { print $1 }' | awk 'BEGIN { FS = " " }; { print $2 }')
    

    这似乎有点过分。有没有一种更简单的方法可以在导出后获取变量名并在等号处停止?

    这个片段是有效的,但似乎应该有一种比我的多管道片段更简单的方法。

    1 回复  |  直到 1 年前
        1
  •  0
  •   Cyrus    1 年前

    使用空间和 = 作为输入字段分隔符:

    unset $(awk -F '[ =]' '/^export .*=/{print $2}' env)