Passar um comando com grep na linha de comando [RESOLVIDO]

1. Passar um comando com grep na linha de comando [RESOLVIDO]

William Miranda de Jesus
blackstile

(usa Outra)

Enviado em 20/08/2012 - 16:23h

Bom galera estou desenvolvendo um script simples para ficar executando um comando de tempo em tempos, só que quando mando executar um comando que tenha o "|" pipeline grep alguma coisa ele nao rola.
Por exemplo eu tenho um loop infinito que tem um sleep do numero de segundos que o cara quer espera, e o script executa o comando que esta no parametro.
Mais ou menos assim
./timecommand.sh <comando> <tempo em segundos>

--comando --> comando que será executadi
--tempo em segundo --> tempo de espera entre a execução do comando.

Exemplo
./timecommand.sh "ls -la" 5
ou seja ele executa o comando ls -la de 5 em 5 segudos

./timecommand.sh "netstat -nalp | grep :700 --color" 3
Ja neste comando o netstat nao funciona e diz que nao tem a opcao --color, já quando tirou o --color ele executa o netstat, mas nao executa o grep

Alguem sabe por que ?


Agradecido.


  


2. Re: Passar um comando com grep na linha de comando [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 20/08/2012 - 22:12h

Porque dentro do seu script as aspas duplas serão retiradas na execução e ai o '--color' vai ser identificado como um possível parametro,...

tente fazer assim:


./timecommand.sh "netstat -nalp | grep ':700 --color'" 3

ou

./timecommand.sh "netstat -nalp | grep \:700 \-\-color" 3


3. Re: Passar um comando com grep na linha de comando [RESOLVIDO]

William Miranda de Jesus
blackstile

(usa Outra)

Enviado em 21/08/2012 - 08:37h

Eu até tentei só que funciona o comando netstat, mas o grep nao funciona. Ele me traz o resultado completo do netstat ou qualquer outro comando que eu use com grep


4. Re: Passar um comando com grep na linha de comando [RESOLVIDO]

William Miranda de Jesus
blackstile

(usa Outra)

Enviado em 21/08/2012 - 08:48h

Tive que colocar eval e colocar a variavel dentro das aspas dentro do meu script.

eval "$comando";

Valew rai3mb






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts