使用sed替换文件中的变量文字值

时间:2018-06-15 20:19:45

标签: linux 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}

1 个答案:

答案 0 :(得分:0)

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

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