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

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

RES: [shell-script] shell que lista as portas ativas


From: Julio Cezar Neves - DISB.O
Subject: RES: [shell-script] shell que lista as portas ativas
Date: Sun, 18 Jun 2000 18:23:17 -0300


> ----- Mensagem original -----
> De:           Anderson Montenegro
> [SMTP:address@hidden]
> Enviada em:           quarta-feira, 14 de junho de 2000 10:25
> Para:         address@hidden
> Assunto:              [shell-script] shell que lista as portas ativas
> 
> 
> 
>   eu criei um pequeno shell que lista se a porta 80 esta ativa  no meu
> linux
> que e o seguinte:
> 
>   netstat -an | grep LIST | grep 80 | cut -d: -f2 | awk ' { print $1 }´
> 
>   so que eu queria fazer esse script ficar mais amigavel.
> 
>   Entao criei o script abaixo so que ele nao esta funcionando
> 
> 
>    #!/bin/sh
> 
>    PORTAS="/usr/sbin/netstat -an | grep LIST | grep 80 | cut -d: -f2 | awk
> '
> { print $1 }´
> 
        Na linha acima, vc esta fazendo uma etribuição e um comando, só que
o comando tem que ser executado antes da atribuição ser feita. Para
priorizarmos o comando, devemos colocá-lo entre crases (`), e não aspas (")
ou apóstrofos ('). Assim a sua linha deveria ficar da seguinte maneira:
           PORTAS=`/usr/sbin/netstat -an | grep LIST | grep 80 | cut -d: -f2
| awk '{ print $1 }´`

>      if [ $PORTAS=="80" ] then
> 
        Em bash ou sh não se usa == dentro de um if. Isto é típico do csh ou
da linguagem C. Por outro lado, vc poderia usar o operador de comparação
numérica (-eq) e não o de strings (=). Proponho, então, que a linha do if
fique assim:

>      if [ "$PORTAS" -eq 80] then
        ou assim:
>      if [ "$PORTAS" = "80" ] then
> 
        ou então otimizando o script ao máximo:

>      if [ `/usr/sbin/netstat -an | grep LIST | grep 80 | cut -d: -f2 | awk
> '{ print $1 }´` -eq 80] then
>         echo " a porta 80 esta ativa "
>      else
>         echo " a porta 80 nao esta ativa"
>      fi
> 
        []s,
        Julio
        <mailto:address@hidden>



reply via email to

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