Tentei os dois exemplos e surgiu a seguinte mensagem de erro: ./teste.sh: 21: Bad substitution
Se puderem me ajudar, eu agradeceria muito. Abraços a todos! Em 26/11/09, Psycho Mantys<[email protected]> escreveu: > > 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 > > > > -- "Ninguém cometeu maior erro do que aquele que não fez nada só porque podia fazer muito pouco." --~--~---------~--~----~------------~-------~--~----~ 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] -~----------~----~----~----~------~----~------~--~---

