Oi André,

    O erro mostra alguma divergência com o operador; isso ocorre nos testes
"==" , são 4 testes e 4 erros, portanto deve ser isso mesmo.

    Analisando outro parâmetro, observei que são dois sistemas operacionais
diferentes, porém o shell é o "ksh", portanto não haveria erros de
identação, que é o que parece.

    Para ter certeza de que é isso, utilize o "if", como segue:

-- primeira parte:
if [ -z "$1" ]
then
    echo "Usage $(basename $0) {instance_name} {start|stop}"
    exit 0
fi

if [ -z "$2" ]
then
    echo "Usage $(basename $0) {instance_name} {start|stop}"
    exit 0
fi

-- na segunda parte, faça isso...
if [ "$2" == "start" ]
then
    set startup open
fi
if [ "$2" == "stop" ]
then
    set shutdown abort
    startup restrict
    shutdown abort
fi

------- opcionalmente, teste a segunda parte com estas modificações:
[ "$2" == "start" ] && set startup open
[ "$2" == "stop" ] && set shutdown abort && startup restrict && shutdown
abort
-- existem alguns interpretadores que consideram um parâmetro $X como um
número inteiro ou somente um caracter, as aspas podem identificar essa
dúvida.


Como não é exatamente um assunto de Oracle, mas de shell, qualquer dúvida,
pode me contactar em pvt.

[]'s
Braga




2008/12/10 André Alves <[EMAIL PROTECTED]>

>   Olá Pessoal,
> Tenho aqui um script num server AIX que serve para iniciar e parar vários
> bancos passando o SID e start ou stop e queria usá-lo num server HPUX mas
> não está funcionando.
>
> O uso seria assim: ./ora_ss.sh EMREP start ou /ora_ss.sh EMREP stop
>
> O script é esse:
> #!/bin/ksh
> #
>
> [ "X$1" == "X" ] && echo "Usage $(basename $0) {instance_name}
> {start|stop}"
> [ "X$2" == "X" ] && return
>
> rm /tmp/*$2.tmp 2> /dev/null
> log=/tmp/$$.$2.tmp
>
> do_sql ()
> {
> $ORACLE_HOME/bin/sqlplus -s  /nolog >>$log <<EOF
> connect / as sysdba
> $@
> EOF
> }
>
> export ORACLE_SID=$1
> [ $2 == start ] && set startup open
> [ $2 == stop ] && set shutdown abort && startup restrict && shutdown abort
> do_sql $@
>
> O erros que retornam são esses:
>
> ./ora_ss.sh[6]: ==: unknown test operator
> ./ora_ss.sh[7]: ==: unknown test operator
> ./ora_ss.sh[22]: ==: unknown test operator
> ./ora_ss.sh[23]: ==: unknown test operator
>
> Alguém poderia me ajudar a descobrir o que podem ser esses erros???
>
> Muito obrigado, Abs, André
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a