首页 > 解决方案 > 使用 sed 替换文件中的变量文字值

问题描述

我需要替换文件中的文字变量值,我正在尝试使用 SED,但它似乎不起作用。下面是我正在使用的命令,但是当我检查文件时,值没有改变。

sed -i .bak "s|isJBossRunning \\\${home}|isJBossRunning \\\${home_dir}|g" /file/location/file.sh

这是我正在尝试做的一个例子。在我的 file.sh 文件中。

home='/opt/tmp'

home_dir='/usr/share/jbossas'

JBOSS_USER=jbossas

SERVER_NAME=abxd

echo isJBossRunning ${JBOSS_USER} ${home} ${SERVER_NAME}

所以我想做的是替换字符串isJBossRunning ${JBOSS_USER} ${home} ${SERVER_NAME},所以我${home}${home_dir}.

标签: linuxsed

解决方案


我想出了一种更新文件的方法。下面是我使用的命令,我只是替换了整个文件中的文字变量。

sed -i "s/\${home}/\${home_dir}/" ./file.sh

推荐阅读