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: Julio C. Neves
Subject: Re: [shell-script] Problemas com o nohup no bash do Solaris 5.9
Date: Thu, 8 Jan 2009 21:05:02 -0200

Eu não sei como funcionou na linha de cmd como vc disse, pq a sintaxe estava
errada, pois faltavam os apóstrofos e o nome do arquivo ou a cadeia. Vc
tentou a sintaxe que propus?
-- 
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>

>   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 <julio.neves%40gmail.com>>
>
>
> > 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>
> <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]
>
>  
>


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



reply via email to

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