我正在尝试向现有的 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)
谢谢