使用 shell 脚本中的命令在父 shell 中设置环境变量

使用 shell 脚本中的命令在父 shell 中设置环境变量

我有一个包含单个命令的 shell 脚本

sudo my_command | parse_to_exports_cmd

当我运行此脚本时,我在标准输出上得到以下内容

export MY_VAR_A=abcdef123
export MY_VAR_B=qwerty123

我该如何修改脚本才能在父 shell 中实际设置这些环境变量?

答案1

您可以将输出包装在 中eval。这不应轻易运行,因为它会在调用 shell 的上下文中执行任何输出。您必须信任输出。

eval $(sudo my_command | parse_to_exports_cmd)

相关内容