如何使用 bash 脚本从 .env 中删除或替换键值



我正在尝试使用 bash 脚本删除该值或替换 .env 文件中的值

在我的 .env 文件中,我有

TEST_VAR=testVariable

我已经使用以下脚本使用 bash 脚本插入了这个TEST_VAR

#!/bin/bash
echo TEST_VAR="testVariable" >> .env

问题是如果我再次运行 bash 脚本,它将在 .env 中多次输入TEST_VAR。如何替换该值或删除此密钥对值。

例如

如果我再次运行具有更改值的 bash 脚本

#!/bin/bash
echo TEST_VAR="updateValue" >> .env

它应该显示在 .env 文件中

TEST_VAR=更新值

而不是低于

TEST_VAR=测试变量 TEST_VAR=更新值

试试这个,假设您要更新的 .envfile.env

sed -i~ '/^TEST_VAR=/s/=.*/="UpdateValue"/' file.env

说明:命令sed -i~能够就地编辑文件;即无需制作副本。该文件的旧版本将转到file.env~.

该命令s/=.*/="UpdateValue"/=后的所有内容更改为="UpdateValue"。该命令仅适用于以TEST_VAR=开头的行,该行通过将正则表达式/^TEST_VAR=/附加到上面的sed命令来表示。

相关内容

  • 没有找到相关文章