我的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
答案 0 :(得分:1)
您使用的命令有2个错误:
1。)您在${db_uni_name}
命令中使用了变量sed
。相反,您应该使用上面声明的DB_UNI_NAME
。 (请视情况而定)
2。)在(" ")
命令中使用双引号(' ')
而不是单引号sed
。
"
确保sed
扩展变量。
因此,您的命令将是:
sed -i "s/${DB_NAME}/${DB_UNI_NAME}/g" oratab
这应该有效。让我知道。