[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RE: [shell-script] Ajuda para criar shell script
From: |
firstalex |
Subject: |
Re: RE: [shell-script] Ajuda para criar shell script |
Date: |
Wed, 19 Jan 2005 11:58:39 -0200 |
Olá...
Pessoal, acho que confundi vocês numa parte pois não deve verificar o
conteúdo do arquivo, somente se eles existem caso afirmativo, deve continuar
o processando o código abaixo:
echo "Inicio da geracao dos arquivos (`date`)" > "$WORK"/pl0501.log
$DLC/bin/_progres -b -p /magnus/plp/pl0501.p \
-pf /amb/pf/db_grelmao.pf \
-h 20 -l 48 -D 200 -e 100 -d dmy \
-E -A < "$WORK"/pl0501.par >> "$WORK"/pl0501.log
echo "Termino da geracao do arquivo (`date`) " > "$WORK"/pl0501.log
Ao Final do Processamento devera "Remover" os arquivos:
/grelmao/MRP/pl0501.pro
/grelmao/MRP/pl0501.par
/grelmao/MRP/pl0501.sel
O Arquivo /grelmao/MRP/pl0501.log contem informações dos dados
caso não exista algum dos arquivos, o código não deve ser processado.
Abraço.
====================================================================
Em (10:26:41), address@hidden escreveu:
>Pessoal, tenho pouca experiência com shell-script, e meu encarredado me
>pediu para montar um script conforme as informações abaixo...Sei que
poderia
>pesquisar e acabar montando o script, mas o problema é que ela quer isso
>para ontem...
>Será que alguém poderia me ajudar?
>Este Script devera estar preparado para verificar a existencia do arquivo
>/grelmao/MRP/pl0501.pro
>com o conteudo a informação "Processar:Sim"
>Caso exista verificar a existencia dos arquivos /grelmao/MRP/pl0501.par e
>/grelmao/MRP/pl0501.sel e caso os três arquivos existam deve processar a
>parametrização abaixo: (essa parametrização está correta e conecta bancos
>progress...o problema, é realmente fazer as condições acima.)
>echo "Inicio da geracao dos arquivos (`date`)" >> "$WORK"/pl0501.log
>$DLC/bin/_progres -b -p /magnus/plp/pl0501.p \
> -pf /amb/pf/db_grelmao.pf \
> -h 20 -l 48 -D 200 -e 100 -d dmy \
> -E -A < "$WORK"/pl0501.par >> "$WORK"/pl0501.log
>echo "Termino da geracao do arquivo (`date`) " >> "$WORK"/pl0501.log
>Ao Final do Processamento devera "Remover" os arquivos:
>/grelmao/MRP/pl0501.pro
>/grelmao/MRP/pl0501.par
>/grelmao/MRP/pl0501.sel
>O Arquivo /grelmao/MRP/pl0501.log contem informações dos dados informados
>via
>parametros e servira para eventuais consultas.
>
>Chefe é uma coisa complicada :) O meu chefe, por exemplo... Dificil o
>cara... Vacila demais... Opa... Oi Chefinho... Estava agora mesmo falando
do
>Sr... Bem, é claro :P
>
>Vamos la.... Como em toda boa lingbobagem, vc vai ter estruturas de
controle
>e de testes em shell script, também. If's, while's, for's, case's da vida
>sao comuns e muito simples.
>Entao, todo o nosso processamento esta atrelado à existencia do arquivo
>p10501.pro e seu conteudo Processar:Sim. Primeiro, vamos testar se ele
>existe e se seu conteudo é o esperado:
>
> if [ -f /grelmao/MRP/p10501.pro ] ; then
>
>Testamos a existencia do arquivo. O [ é o nosso link para test e -f
pergunta
>se o parametro passado é um arquivo valido. Se essa condicao for
verdadeira,
>testamos o conteudo dele:
>
> if grep "Processar:Sim" /grelmao/MRP/p10501.pro > /dev/null ; then
>
>Aqui verificamos se o retorno de um comando grep é verdadeiro ( $? = 0 ).
>ATENCAO ! Esse comando retornará verdadeiro somente se a string
>Processar:Sim existir no arquivo. Se a string for Processar:SIM, o grep nao
>vai retornar verdadeiro, a menos que seja especificada a opcao -i ( ignore
>case ).
>Isso sendo verdade, verificamos, com a mesma estrutura do primeiro if, se
os
>outros dois arquivos existem:
>
> if [ -f /grelmao/MRP/pl0501.par -a -f /grelmao/MRP/pl0501.sel ] ; then
>
>Se p10501.par é um arquivo valido E p10501.sel também é um arquivo valido,
>entao processamos. O trecho do script ficaria mais ou menos assim:
>
> if [ -f /grelmao/MRP/p10501.pro ] ; then
> if grep "Processar:Sim" /grelmao/MRP/p10501.pro > /dev/null ; then
> if [ -f /grelmao/MRP/pl0501.par -a -f
>/grelmao/MRP/pl0501.sel ] ; then
> echo "Inicio da geracao dos arquivos (`date`)" >>
>"$WORK"/pl0501.log
> $DLC/bin/_progres -b -p /magnus/plp/pl0501.p
>\
> -pf /amb/pf/db_grelmao.pf \
> -h 20 -l 48 -D 200 -e 100 -d dmy \
> -E -A < "$WORK"/pl0501.par >>
>"$WORK"/pl0501.log
> if [ $? -eq 0 ] ; then
> echo "Termino da geracao do arquivo
>(`date`) " >> "$WORK"/pl0501.log
> rm -f /grelmao/MRP/p10501.*
> else
> echo "Erro no processamento"
> fi
> fi
> fi
> fi
>
>Obviamente que faltam ai as definicoes das variaveis $DLC, $WORK mas, no
>geral, essa é a logica que vc deve seguir.
>
>[]'s
>
>---------------------------------------------------------------------
>Esta lista não admite a abordagem de outras liguagens de programação, como
>perl, C etc. Quem insistir em não seguir esta regra será moderado sem
prévio
>aviso.
>---------------------------------------------------------------------
>Sair da lista: address@hidden
>---------------------------------------------------------------------
>Esta lista é moderada de acordo com o previsto em
>http://www.listas-discussao.cjb.net
>---------------------------------------------------------------------
>
>Links do Yahoo! Grupos
>
>
>
>
>----------
[As partes desta mensagem que não continham texto foram removidas]
- Re: RE: [shell-script] Ajuda para criar shell script,
firstalex <=