将值传递给shell脚本

时间:2015-02-10 10:41:29

标签: shell parameters scripting

export c_db1=oraclenod1  
export c_db2=oraclenod2 

当我在下面跑步时:

perl $dboh/clone/bin/clone.pl ORACLE_HOME="$dboh" ORACLE_HOME_NAME="${db_upper}_ORACLE_HOME" ORACLE_BASE="${dboh_base}"  '-O"CLUSTER_NODES={"${c_db1}","${c_db2}"}"'

我到了下面:

./runInstaller -clone -waitForCompletion  "ORACLE_HOME=/u01/oracle/dba/product/11.2.0.3" "ORACLE_HOME_NAME=DBA_ORACLE_HOME" "ORACLE_BASE=/u01/oracle/dba/product" "CLUSTER_NODES={"${c_db1}","${c_db2}"}" -silent -noConfig -nowait    

我试图传递c_db1和c_db2,any1可以帮助告诉我如何传递这个吗?

感谢任何帮助

谢谢,SM

1 个答案:

答案 0 :(得分:0)

您使用sijngle引号作为最后一个参数

'-O"CLUSTER_NODES={"${c_db1}","${c_db2}"}"'

单引号可防止变量扩展:https://www.gnu.org/software/bash/manual/bashref.html#Quoting

假设您需要这些文字引号,请执行此操作

"-O\"CLUSTER_NODES={\"${c_db1}\",\"${c_db2}\"}\""

根据您的评论,您不需要所有内部报价,所以

"-O\"CLUSTER_NODES={${c_db1},${c_db2}}\""