2015-02-09 4 views
-4

У меня есть условие if-else внутри сценария ksh.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

ответ

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 

кстати, это не .java, это .ksh, у него неправильная метка. Что касается отступов, я понимаю, почему некоторые старые .ksh не являются.

+0

Его не JAVA его ksh. Я постараюсь, чтобы выше часть сообщит вам, что за ответ, спасибо за вашу помощь. –

+0

Это не сработало, с такой же ошибкой. + [[xKFBACRMW = xKFBACRMW]] dba_pre_snap_test.ksh [34]: [[xKFBACRMW = xKFBACRMW]]: не найдено –

+0

Вы видели символ '' '(double-quote)? [[" X $ ORACLESID " = "xKFBACRMW"]]; '. Я предполагаю, что ваш' $ ORACLESID' пуст, сравнивая, таким образом, «null» с 'string'. – azbarcea

Смежные вопросы