小编Dog*_*glu的帖子

如何在 bash 中取消设置无效的环境变量?

我正在尝试向现有的 docker-entrypoint 脚本添加功能,图像的创建者决定环境变量将具有 key.subkey=value 的形式。在我尝试设置和解析我自己的变量之前,我不知道这是一个无效的命名方案。由于它们的命名方案无效,因此它们的读取方式如下:

while IFS='=' read -r var key
do
# parse
done < <(env)
Run Code Online (Sandbox Code Playgroud)

我想要做的是安装一个修改后的入口点,该入口点在使用后取消设置我自己的“无效”环境变量,否则我的变量将被其正则表达式模式捕获并导致脚本退出。因为它们将捕获的变量作为选项传递给二进制文件。

无论如何,我可以取消使用 docker 的环境变量功能强制设置的无效变量吗?因为当我尝试这样做时:

unset -v foo.foo-bar.setting-to-update
Run Code Online (Sandbox Code Playgroud)

我得到:

bash: unset: `foo.foo-bar.setting-to-update': not a valid identifier
Run Code Online (Sandbox Code Playgroud)

谢谢

bash environment-variables docker

5
推荐指数
1
解决办法
1469
查看次数

标签 统计

bash ×1

docker ×1

environment-variables ×1