CLI设置env文件的变量

时间:2017-04-16 22:12:42

标签: bash shell ubuntu

有一个.env文件,如下所示:

VAR1=1
VAR2=2
VAR3=3

现在我想像这样更改shell中的特定值

cli set .env VAR2 foo

应该给我结果

VAR1=1
VAR2=foo
VAR3=3

2 个答案:

答案 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