用 bash 脚本中的 sed 替换另一个文件中的字符串
我正在尝试从 bash 脚本替换环境变量定义的值(如果存在)。我知道我可以使用 sed 来执行此操作,但是我不确定如何替换环境变量的值?
这就是我想要做的:
给定一个包含此行的文件(使用 grep
找到):
export MY_ENV=SOME_VALUE
我想用其他内容替换 SOME_VALUE
。如何使用 sed
做到这一点?
I'm trying to replace the value of an environment variable definition, if it exists, from a bash script. I know I can use sed
to do this, I'm not sure, however, how to replace the value of the environment variable?
Here's what I'd like to do:
Given a file with this line (found with grep
):
export MY_ENV=SOME_VALUE
I'd like to replace SOME_VALUE
with something else. How do I do that with sed
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这将搜索以
export MY_ENV=
开头的行,并用NEW_VALUE
替换该行的其余部分:This searches for the line beginning with
export MY_ENV=
and substitutes the rest of the line withNEW_VALUE
:这会找到字符串
SOME_VALUE
并替换$MY_ENV
的值。双引号至关重要;不要使用单引号,除非您希望在替换文本中使用$
、M
、Y
、...。This locates the string
SOME_VALUE
and substitutes the value of$MY_ENV
. The double quotes are crucial; don't use single quotes unless you want$
,M
,Y
, ... in the replacement text.