Novato - Criação de Shell Script

1. Novato - Criação de Shell Script

Alexandre Chaves Nunes
alexandre.cn

(usa Kurumin)

Enviado em 21/05/2012 - 16:40h

Boa tarde pessoal. Sou novato em Shell Script e estou tentando criar um que leia 3 parâmetros (usuário, senha e arquivo a ser executado com comando Oracle) e depois faça o ftp para um servidor. Criei o script abaixo, mas infelizmente não ta funcionando.

!/bin/ksh
set -x

#################################################################################
#
# NOME DO PROGRAMA: acl_shell_carga.sh
# Objetivo: Gera arquivo com resultado da consulta.
#
################################################################################
if (( $3 != ))
then
echo "Sintaxe: acl_shell_carga.sh <usuario> <senha> <nome do arquivo>"
else
echo "ACL: Inicio da rotina `date`"

#Variáveis
pusuario=$1
psenha=$2
parquivo=$3


. /usr/users/teste/.profile

sqlplus $pusuario/$psenha@pcvr2i @$parquivo

HOST='servidor_teste'
USER='usuario_teste'
PASSWD='swenha_teste'
FILE= $parquivo

ftp $HOST <<END_SCRIPT
user $USER
$PASSWD
put FILE
quit
END_SCRIPT
exit 0
if [ $? -eq 0 ]
then
echo "ACL: Termino da rotina de geracao de arquivos com SUCESSO!"
else
echo "ACL: Termino da rotina de geracao de arquivos com ERRO!"
fi

fi


Ao executar o script acima, acontece o seguinte erro:

>>acl_shell_carga.sh[10]: !=^Z : syntax error
ksh: acl_shell_carga.sh[10]:: not found



  


2. Re: Novato - Criação de Shell Script

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 21/05/2012 - 18:19h

alexandre.cn escreveu:

Boa tarde pessoal. Sou novato em Shell Script e estou tentando criar um que leia 3 parâmetros (usuário, senha e arquivo a ser executado com comando Oracle) e depois faça o ftp para um servidor. Criei o script abaixo, mas infelizmente não ta funcionando.
[/quote

Putz, depois q formatei a máquina para instalar o ubuntu 12.04 não tenho mais todos os tipos de SH instalados.


!/bin/ksh
set -x

#################################################################################
#
# NOME DO PROGRAMA: acl_shell_carga.sh
# Objetivo: Gera arquivo com resultado da consulta.
#
################################################################################
#Variáveis públicas devem se recebem parâmetros externos ficarem antes das instruções.
pusuario=$1
psenha=$2
parquivo=$3


if (( $3 != )) #Esta linha está certa mesmo ?
then
echo "Sintaxe: acl_shell_carga.sh <usuario> <senha> <nome do arquivo>"
else
echo "ACL: Inicio da rotina `date`"

. /usr/users/teste/.profile # Não sei o que está sendo feito aqui. Carregando o perfil do usuário ?

sqlplus $pusuario/$psenha@pcvr2i @$parquivo

HOST='servidor_teste'
USER='usuario_teste'
PASSWD='swenha_teste'
FILE= $parquivo # Em bash, não pode ter espaço entre a definição e o conteúdo de uma nova VAR.

ftp $HOST <<END_SCRIPT
user $USER
$PASSWD
put FILE
quit
END_SCRIPT
exit 0
if [ $? -eq 0 ] #Aqui vai pegar só erro de script e não falhas na SQL.
then
echo "ACL: Termino da rotina de geracao de arquivos com SUCESSO!"
else
echo "ACL: Termino da rotina de geracao de arquivos com ERRO!"
fi

fi


[quote]
Ao executar o script acima, acontece o seguinte erro:

>>acl_shell_carga.sh[10]: !=^Z : syntax error
ksh: acl_shell_carga.sh[10]:: not found



Veja se corrigindo algumas das sugestões se funciona...







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts