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 12:10:16 -0200

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>

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



reply via email to

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