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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Problemas com o nohup no bash do Solaris 5.9


From: Marcelo Vilela de Morais
Subject: Re: [shell-script] Problemas com o nohup no bash do Solaris 5.9
Date: Thu, 8 Jan 2009 14:58:29 -0200

Valeu pela ajuda Julio.
O que eu preciso fazer é listar os arquivos dentro do
diretório /var/james-2.3.0rc5/apps/james/var/mail/trash/ e o resultado estou
jogando para um arquivo.
E com o sed eu estou adicionando na frente de cada linha o comando "rm -f"
mais o path da variável.

Não conheço o sed e essa é minha primeira tentativa.

O problema na verdade é que ele funciona bem quando eu executo o script
direto ou o comando na mão, mas quando executo com o nohup e & ele me manda
a mensagem de garbled.


2009/1/8 Julio C. Neves <address@hidden>

>   Fala Marcelo,
>
> O cmd sed s/^/"rm -f /var/james-2.3.0rc5/apps/james/var/mail/trash/"/
>
> está totalmente errado. Está tão erado que não entendi o que vc queria, mas
> assim mesmo vou dar um pitaco:
>
> sed 's#^#rm -f /var/james-2.3.0rc5/apps/james/var/mail/trash/#' arquivo
>
> ou:
>
> sed 's#^#rm -f /var/james-2.3.0rc5/apps/james/var/mail/trash/#' <<<
> $variavel
>
> Botei apóstrofos (obrigatórios) delimitando o escopo do sed e troquei as
> barras separadoras por #, já que o sed define como separador o primeiro
> caracter após o s. Faltou tb dizer o que vc estava "sedando". Um arquivo,
> uma cadeia ou uma variável.
>
> OBS: Só agora me toquei que o ksh do sun pode não conhecer here strings
> (<<<) se for este o caso, troque-a por um echo ... | sed ...
> --
> Abração,
> Julio
> *Cursos de Shell e Zenity nos finais de semana:
> - Em SP ligue (11) 2125-4747;
> - Em DF ligue (61) 3223-3000;
> - Turmas fechadas em outras cidades ligue (21) 8112-9988
> *
>
> 2009/1/8 Marcelo Vilela de Morais <address@hidden<vilelamorais%40gmail.com>
> >
>
>
> > Bom dia galera.
> >
> > Estou tentando fazer a contagem de arquivos em um diretório e depois
> apago
> > os que já foram contados. Estou fazendo isso no Solaris 5.9 com o bash
> > mesmo.
> > Pra isso estou utilizando o seguinte script.
> >
> > #! /bin/bash
> >
> > hoje=`date +%Y%m%d`
> > i=0
> >
> > while true
> > do
> > # variaveis utilizadas
> > m_path='/var/james-2.3.0rc5/apps/james/var/mail'
> > l_path='/var/james-2.3.0rc5/apps/james/var/mail/result_lista'
> > c_path='/var/james-2.3.0rc5/apps/james/var/mail/result_lista/conta'
> > r_path='/var/james-2.3.0rc5/apps/james/var/mail/result_lista/remove'
> > t_path='/var/james-2.3.0rc5/apps/james/var/mail/trash'
> > s_path='/var/james-2.3.0rc5/apps/james/var/mail/trash/'
> > contagem=0 # utilizada para registar o numero de mensagens por arquivo
> > date_a=`date +%Y%m%d%H%M%S` #hora da coleta para a contagem
> > i=`expr $i + 1`
> >
> > # lista total de arquivos e coloca em um arquivo para contagem total
> > date_c=`date +%H%M%S%d%m%Y` # a variavel e usada para dar nome ao
> > arquivo e para apagar tb
> > ls $t_path/ >> $c_path/conta_nome_arq_$date_c.txt
> > chmod 666 $c_path/conta_nome_arq_$date_c.txt
> >
> > # conta os arquivos
> > contagem=`cat $c_path/conta_nome_arq_$date_c.txt | wc -l`
> > if [ -n "$contagem" ] && [ $contagem -ne 0 ] ; then
> > echo $date_a" Total: "$contagem >> $l_path/Lista_contagem_$hoje.txt
> > chmod 666 $l_path/Lista_contagem_$hoje.txt
> > fi
> >
> > # cria shell_script para remover os ja contados
> > date_r=`date +%H%M%S%d%m%Y` # a variavel e usada para dar nome ao
> > arquivo e para apagar tb
> > sed s/^/"rm -f /var/james-2.3.0rc5/apps/james/var/mail/trash/"/
> > $c_path/conta_nome_arq_$date_c.txt >
> $r_path/remove_arq_contado_$date_r.sh
> > chmod 666 $r_path/remove_arq_contado_$date_r.sh
> >
> > # prepara o script
> > chmod ugo+x $r_path/remove_arq_contado_$date_r.sh
> >
> > # remove os ja contados
> > nohup $r_path/remove_arq_contado_$date_r.sh &
> >
> > # apaga script
> > #rm -f $r_path/remove_arq_contado_$date_r.sh
> > #rm -f $c_path/conta_nome_arq_$date_c.txt
> >
> > # troca de dia
> > hoje=`date +%Y%m%d`
> > done
> >
> > # EOF
> >
> > Eu o executo assim "nohup count_file_88_prod.sh &" e no nohup.out eu
> tenho
> > a
> > seguinte resposta:
> > sed: command garbled: s/
> > /var/james-2.3.0rc5/apps/james/var/mail/count_file_88_prod.sh: /rm -f
> > /var/james-2.3.0rc5/apps/james/var/mail/trash//: not found
> >
> > Quando executo o script com "./count_file_88_prod.sh" ele executa
> > normalmente.
> >
> > Alguem conhece essa diferença de execução ou alguma alternativa?
> >
> > Obrigado
> >
> > --
> > Marcelo Vilela
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Marcelo Vilela


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



reply via email to

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