hey, (meus 2 centavos:) Você precisa do dia anterior? já tentou usar o próprio `date`?
$ date -d"-1 day" +%d ou $ date -d"yesterday" +%d Ah sim, a versão do date aqui (na verdade, pacote GNU coreutils) é a 6.4. Sei que esse não é o foco principal do seu problema (que inclusive eu ainda não entendi completamente ;), mas talvez te ajude um pouco. hasta! jr. On 2/20/07, rodrigobsi <[EMAIL PROTECTED]> wrote: > Abaixo o shell que eu utilizo para executar os programas. > Antes de executar o prorama há uma função pra pegar a data do dia > anterior que eu utilizo no campo data do programa. > Os parametros que eu utilizo para executar o programa são os mesmo > para todos. Estão comentados abaixo. > > #FUNCAO PARA OBTER O DIA ANTERIOR > fn_data_anterior() > { > DIA=$D > MES=$M > ANO=$A > > # Dado DIA, MES e ANO numericos, obtem a data do dia anterior > DIA=`expr $DIA - 1` > if [ $DIA -eq 0 ]; then > MES=`expr $MES - 1` > if [ $MES -eq 0 ]; then > MES=12 > ANO=`expr $ANO - 1` > fi > DIA=`cal $MES $ANO` > DIA=`echo $DIA | awk '{ print $NF }'` > fi > } > > ano=`date +%y`; > mes=`date +%m`; > let dia=10\#`date +%d`; > if (( $dia<10 )); > then > j=0$dia; > else > j=$dia; > fi > dia=$j; > j=""; > > D=$dia > M=$mes > A=$ano > fn_data_anterior > > run PROGRAMA1 << F #Executa o programa PROGRAMA1 e redireciona os > parametros abaixo citados.# > i #Aciona a opção Informar do programa > $DIA$MES$ANO # Preenche o campo data de referencia > p #Aciona a opção Processar do programa > l #Aciona a opção Listar do programa > s #Aciona a opção Salvar do programa > f #Aciona a opção Fim do programa > > run PROGRAMA3 << F #Executa o programa PROGRAMA3 e redireciona os > parametros abaixo citados.# > i #Aciona a opção Informar do programa > $DIA$MES$ANO # Preenche o campo data de referencia > p #Aciona a opção Processar do programa > l #Aciona a opção Listar do programa > s #Aciona a opção Salvar do programa > f #Aciona a opção Fim do programa > > run PROGRAMA3 << F #Executa o programa PROGRAMA3 e redireciona os > parametros abaixo citados.# > i #Aciona a opção Informar do programa > $DIA$MES$ANO # Preenche o campo data de referencia > p #Aciona a opção Processar do programa > l #Aciona a opção Listar do programa > s #Aciona a opção Salvar do programa > f #Aciona a opção Fim do programa > > São mais de 90 programas todos os dias, por isso preciso criar um > arquivo de parametros e fazer com que esse shell que executa os > programas pegue os parametros desse único arquivo. Mesma coisa para > a função data. > > OBrigado > Att. > Rodrigo > > --- Em shell-script@yahoogrupos.com.br, "Tiago Barcellos Peczenyj" > <[EMAIL PROTECTED]> escreveu > > > > Dê exemplos ;-) > > > > On 2/20/07, Rodrigo Santos Vieira <[EMAIL PROTECTED]> wrote: > > > > > > Bom dia pessoal. > > > Tenho vários rotinas que iram utilizar os mesmo parâmetros, e > tambem um > > > shell que calcula a data do dia anterior. > > > Como faço um shell para utilizar os parametros de um arquivo > externo e > > > tambem para utilizar o valor da data que será calculado em um > outro shell? > > > > > > Att. > > > Rodrigo > > > > > > [As partes desta mensagem que não continham texto foram > removidas] > > > > > > > > > > > > > > > > > -- > > Tiago B Peczenyj > > Linux User #405772 > > > > # cd /pub > > # more beer > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > --------------------------------------------------------------------- > 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: [EMAIL PROTECTED] > --------------------------------------------------------------------- > Esta lista é moderada de acordo com o previsto em > http://www.listas-discussao.cjb.net > --------------------------------------------------------------------- > Servidor Newsgroup da lista: news.gmane.org > Grupo: gmane.org.user-groups.programming.shell.brazil > > > Links do Yahoo! Grupos > > >