2015-02-09 29 views
-4

我在ksh脚本中有if-else条件。if else条件失败,出错

我的代码:

ORACLESID=`echo $ORACLE_SID` 
if [$ORACLESID="KFBACRMW"] ; then 
export ORACLE_HOME=/u01/app/oracle/${ORACLE_SID}/dbhome 
fi 

export PATH=$ORACLE_HOME/bin:$PATH 

它设置默认主页它不是采摘提及家庭状况 "ORACLE_HOME=/u01/app/oracle/${ORACLE_SID}/dbhome"

错误:

ORACLESID=KFBACRMW 
+ [KFBACRMW=KFBACRMW] 
dba_pre_snap_test.ksh[34]: [KFBACRMW=KFBACRMW]: not found 
+0

请在代码中添加一些格式和缩进,并告诉我们您使用的是哪种语言,以及您试图用此代码实现的目标。 – dgilperez 2015-02-10 00:03:23

回答

0

大概像这样的工作:

ORACLESID=`echo $ORACLE_SID` 
if [["x$ORACLESID"="xKFBACRMW"]]; then 
    export ORACLE_HOME=/u01/app/oracle/${ORACLE_SID}/dbhome 
fi 

export PATH=$ORACLE_HOME/bin:$PATH 

btw,这不是.java,是.ksh,它有错误的标签。关于缩进,我明白为什么一些旧的.ksh不是。

+0

它不是JAVA的ksh。我会尝试以上部分让你知道答案,谢谢你的帮助。 – 2015-02-10 14:52:23

+0

它没有工作,提交相同的错误。 + [[xKFBACRMW = xKFBACRMW]] dba_pre_snap_test.ksh [34]:[[xKFBACRMW = xKFBACRMW]]:找不到 – 2015-02-10 14:59:39

+0

你看到'''(双引号)字符吗?[[“x $ ORACLESID” =“xKFBACRMW”]];'我假设你的'$ ORACLESID'是空的,因此比较'null'和'string'。 – azbarcea 2015-02-10 18:12:43