2009/11/26 M1n3r0 <[email protected]>:
>
> Então pessoal, sou novo no mundo linux. E estou precisando fazer
> funcionar para comentar em um trabalho de faculdade um script em shell
> voltado para gerencia de redes de computadores. Estou tentando usar o
> script que vou colocar abaixo. Mas esta dando o erro: .teste.sh: 10:
> Syntax error: "(" unexpected
>
> Segue abaixo o script:
>
> #!/bin/sh
>
> TEST=$1
>
> if [ $# != 1 ]; then
>  echo "ERRO: parametro necessario (porta) nao informado!"
>  exit 1
> fi
>
> LISTEN=(`netstat -nl | grep : | grep -E 'tcp|udp' | \
>  sed -r 's/.+:([0-9]+).+/\1/g' | awk '{print $1}' | sort -u`)
>
> CTRL=0
>
> for PORT in ${!LISTEN[*]}; do
>  if [ ${LISTEN[${PORT}]} == ${TEST} ]; then
>   echo "porta ${LISTEN[${PORT}]} ja esta em uso!"
>   CTRL=1
>   break
>  fi
> done
>
> if [ ${CTRL} == 0 ]; then
>  echo "OK, porta ${TEST} esta livre."
> fi./teste.sh
>
> Ja mudei permissão para tornar executavel. Não sei o que pode estar
> errado. Aguardo a ajuda de você e antecipo agradecimentos.
####################################################################

Exatamente o que ele diz :p.

na linha 10, você usou uma sintaxe estranha, em vez de:
LISTEN=(`netstat -nl | grep : | grep -E 'tcp|udp' | \
sed -r 's/.+:([0-9]+).+/\1/g' | awk '{print $1}' | sort -u`)

Acho que você queria usar:
LISTEN="$(netstat -nl | grep : | grep -E 'tcp|udp' | \
sed -r 's/.+:([0-9]+).+/\1/g' | awk '{print $1}' | sort -u )"

ou ate mesmo em posix
LISTEN="`netstat -nl | grep : | grep -E 'tcp|udp' | \
sed -r 's/.+:([0-9]+).+/\1/g' | awk '{print $1}' | sort -u`"

Na sua versão original, a sintaxe não condiz com que o bash esperava,
então ele reclamou.

-- 
Mi blog eres su blog: https://www.lccv.ufal.br/~psycho/
@psycho_mantys : http://twitter.com/psycho_mantys
http://www.slackware.com
U.L. : 450347
Fnord

--~--~---------~--~----~------------~-------~--~----~
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br

Antes de perguntar:
http://www.istf.com.br/perguntas/

Para sair da lista envie um e-mail para:
[email protected]
-~----------~----~----~----~------~----~------~--~---

Responder a