我的oratab文件有以下内容:
cat /etc/oratab
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
+ASM1:/u01/app/12.2.0.1/grid:N
exaiaddb:/u02/app/oracle/product/12.2.0/dbhome_2:Y
nttest:/u02/app/oracle/product/12.2.0/dbhome_3:Y
变量1:$DB_NAME=nttest
变量2:$DB_UNI_NAME=nttest_iad92
我只是想在上面的文件中找到$DB_NAME
,并用$DB_UNI_NAME
替换
我尝试了以下操作,但它没有更新文件
sed -i 's/${DB_NAME}/${db_uni_name}/g' oratab
您使用的命令有两个错误:
1.(您在sed
命令中使用了变量${db_uni_name}
。相反,您应该像上面声明的那样使用DB_UNI_NAME
。(见案例差异(
2.(在sed
命令中使用双引号(" ")
而不是单引号(' ')
。"
确保sed
展开变量。
所以,你的命令是:
sed -i "s/${DB_NAME}/${DB_UNI_NAME}/g" oratab
这应该行得通。让我知道。