2011-05-19 153 views
0

我想从bash脚本中替换环境变量定义的值(如果存在)。我知道我可以使用sed来做到这一点,但我不确定,但是,如何替换环境变量的值?用bash脚本中的sed替换另一个文件中的字符串

这是我想做什么:

鉴于此线路(grep找到)文件:

export MY_ENV=SOME_VALUE 

我想用别的东西来代替SOME_VALUE。我该怎么做与sed

回答

5

这种搜索与export MY_ENV=开头的行并替换该行的其余部分与NEW_VALUE

sed 's/^\(export MY_ENV=\).*$/\1NEW_VALUE/' 
+0

另外'sed的-i'将修改就地文件。 – sastanin 2011-05-19 13:03:15

0
sed -e "s/SOME_VALUE/$MY_ENV/" 

此查找该字符串SOME_VALUE和代用品$MY_ENV值。双引号是至关重要的;除非您想在替换文本中使用$,M,Y ......,否则请不要使用单引号。

相关问题