提取未设置脚本的变量名称

问题描述 投票:0回答: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 }')

这似乎有点多了。有没有更简单的方法来获取导出后的变量名称并停在等号处?

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

bash terminal command-line scripting command-line-interface
1个回答
0
投票

使用空格和

=
作为输入字段分隔符:

unset $(awk -F '[ =]' '/^export .*=/{print $2}' env)
© www.soinside.com 2019 - 2024. All rights reserved.