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

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

Re: Testar se arquivo esta aberto


From: Monte Alto Net
Subject: Re: Testar se arquivo esta aberto
Date: Fri, 18 May 2007 14:40:17 -0000
User-agent: eGroups-EW/0.82

--- Em address@hidden, "Julio C. Neves"
<julio.neves@...> escreveu
>
> Creio que o seu problema é pq vc está colocando um uniq para linhas
> diferentes. A única coisa igual seria o $arq. Desta forma, antes do
uniq vc
> teria vc deveria cortar a saída do ps ou veja que o uniq tem 2 opções
> interessantes: o -s e o -f que comparam porções restritas de cadeias.
> Verifique qual se adequa mais ao seu caso.
> 
> Monte Alto é o distrito de Arraial do Cabo?
> 
> Abraços,
> Julio
> :wq
> 
> 
> Em 17/05/07, Monte Alto Net <montealtonet@...> escreveu:
> >
> >   Boa Tarde a todos
> >
> > Sou novo na lista e ja tenho dúvidas a qual gostaria de compartilhar
> > com o grupo.
> > Preciso desenvolver um script o qual faça a verificação de um arquivo
> > sendo tomada a seguinte decisão
> >
> > O arquivo será aberto pelo mesmo usuário e em caso de mais de um
> > acesso ao mesmo o usuario só poderá visualiza-lo e nao efetuar
> > alterações sendo o nome do arquivo passado como parametro no script.
> >
> > Ja montei um script mas estou tendo alguns problemas principalmente na
> > hora de verificar se o mesmo encontra-se na memória.
> >
> > Segue script
> >
> > #!/bin/bash
> > if test $# = 0
> > then
> > mcedit
> > fi
> > arq=$1
> > memoria=`ps a | grep -o $arq | uniq` <---onde ocorre a duvida, *
> > if test $memoria = $arq
> > then
> > mcedit -v $arq
> > else
> > mcedit $arq
> > fi
> >
> > * nao estou conseguindo atribuir o resultado na variavel memõria,
> > simplesmente o script atribui `` a variavel e não o resultado.
> >
> > Toda ajuda é bem vinda.
> >
> >  
> >
> 
> 
> 
> -- 
> Abraços,
> Julio
> http://www.julioneves.com - Um livro sobre Bash completo e on-line
> :wq
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>
Julio consegui solucionar o problema mudando a variavel de:
memoria=`ps a | grep -o $arq | uniq`
para
memoria=`ps a | grep mcedit | grep -o $arq` filtrando primeiro o nome
do processo e depois o arquivo em cima do processo e retirando o uniq
da jogada
Quanto a Monte Alto fica no interior de SP
http://www.montealto.sp.gov.br/


Obs: Julio depois de ter lido a mensagem que caiu a ficha, vc é o Mr.
Shell Script Julio Cezar Neves, tenho seu livro 6a edição inclusive a
um tempo atrás enviei-lhe um email fazendo um comentario sobre um dos
exemplos. Que honra !!!

Forte Abraço
Atenciosamente
Julio Cesar



reply via email to

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