有一个.env
文件,如下所示:
VAR1=1
VAR2=2
VAR3=3
现在我想像这样更改shell中的特定值
cli set .env VAR2 foo
应该给我结果
VAR1=1
VAR2=foo
VAR3=3
答案 0 :(得分:1)
您可以编写单行CLI,执行您想要的操作:
#!/bin/bash
operation=$1
file=$2
var=$3
value=$4
[[ "$operation" = "set" ]] && sed "s/^\($var\)=.*/\1=$value/" "$file"
答案 1 :(得分:1)
我不确定是否正确理解你的问题,但这是我的答案......
如果您想使用环境变量,您可以做的最好的事情就是导出它们。如果您想保留此 .env 文件,例如在您的主目录中,您只需将其添加到 .bashrc :
source ~/.env
然后,您可以使用以下命令来操作变量:
env
显示所有环境变量echo $VAR1
显示特定变量的值export VAR2=foo
更改当前shell会话中给定变量的值如果您想永久更改,可以使用sed:
sed -i '/VAR2/c\export VAR2=bar' .env