shell-script-pt
[Top][All Lists]
Advanced

[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]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]