我正在尝试使用 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
命令来表示。