我正在尝试从bash脚本替换环境变量定义的值(如果存在)。我知道我可以使用sed
来执行此操作,但我不确定如何替换环境变量的值?
这是我想做的事情:
给定一个包含此行的文件(找到grep
):
export MY_ENV=SOME_VALUE
我想用其他内容替换SOME_VALUE
。如何使用sed
?
答案 0 :(得分:5)
这会搜索以export MY_ENV=
开头的行,并用NEW_VALUE
替换该行的其余部分:
sed 's/^\(export MY_ENV=\).*$/\1NEW_VALUE/'
答案 1 :(得分:0)
sed -e "s/SOME_VALUE/$MY_ENV/"
这将找到字符串SOME_VALUE
并替换$MY_ENV
的值。双引号至关重要;除非您想要替换文本中的$
,M
,Y
,...,否则请勿使用单引号。