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

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

Res: [shell-script] Error: Expected 2 arguments, found only 1.


From: Isaac Sampaio
Subject: Res: [shell-script] Error: Expected 2 arguments, found only 1.
Date: Sun, 28 Mar 2010 13:42:22 -0700 (PDT)

Olá professor Julio, fico grato pela sua sempre permanente paciência em 
ensinar. Fiz varias modificações mas mesmo assim não funcionou. Ficando assim:

while : ; do
[ -s "$lista_ipxmac" ] || echo "descricao|ip|mac" >> $lista_ipxmac
resposta3=$( dialog --stdout --title "$rotulo" --ok-label 'Adicionar' 
--extra-button --extra-label 'Editar' \
 --cancel-label 'Voltar' --menu '' 0 60 0 \
$(for loop_ipxmac in `cat $lista_ipxmac`; do
descricao=`echo "$loop_ipxmac" | awk -F "|" '{print $1}'`
ip=`echo "$loop_ipxmac" | awk -F "|" '{print $2}'`
mac=`echo "$loop_ipxmac" | awk -F "|" '{print $3}'`
echo "$descricao $ip $mac" dá erro aqui
done))

Coloquei a $loop_ipxmac entre aspas conforme orientou, mas o resultado é o 
mesmo. Testei a variavel $lista_ipxmac com um echo e conteudo dela esta correto 
sendo:

descricao|ip|mac

Porém no ultimo echo do laço se coloco apenas 2 variaveis funciona, mas se 
coloco 3 a mensagem volta, pensei que talves pudesse ser a "descricao" que não 
estava presente na variavel $loop_ipxmac, mas esta tudo certo, porque se eu 
coloco no ultimo echo:

echo "$descricao" dá erro.
echo "$descricao $ip" funciona
echo "$descricao $ip $mac" dá erro (essa ultima que quero que funcione)

Abraços





________________________________
De: Julio C. Neves <address@hidden>
Para: address@hidden
Enviadas: Domingo, 28 de Março de 2010 15:59:56
Assunto: Re: [shell-script] Error: Expected 2 arguments, found only 1.

Fala Isaac,
acho que seu problema está no conteúdo da variável $list_ipxmac. Qdo vc faz:

descricaoOfList=`echo $list_ipxmac | awk -F "|" '{print $1}'`

Antes do echo o shell faz a substituição de variáveis e após esta fase, a
linha que seria executada seria:

descricaoOfList=`echo descricao|ip|mac | awk -F "|" '{print $1}'`

Ou seja, vc está fazendo um echo para o prg ip (que existe) e este mandaria
a saída (não manda pq os argumentos recebidos pela entrada primária
(descrição) estão furados e a linha aborta) para o prg mac (que não existe).

Para consertar isso, use sempre a variável $list_ipxmac entre aspas

OBS: A partir de amanhã, darei um curso de shell em SP (4Linux) no qual vcs
podem  se inscrever na hora. Vou dar 20% de abatimento para quem for da
lista. Mas atenção!         Este abatimento valerá somente para este
treinamento. Por favor quem for da lista e estiver no curso, se apresente.
Conheço todos de nome e quase ninguém pessoalmente.

Abraços,
Julio
Cursos de Shell e Zenity em 2 fins de semana?
- SP turma de Shell em 29/03 - ligue (11)2125-4747;
- Floripa turma Shell 12/04 http://www.seventreinamentos.com.br;
- DF turma de Shell em 17/04 - ligue (61) 3223-3000;
- Aracaju turma de Shell em 12/05 - address@hidden;
- RJ turma de Shell em 14/06 - ligue (21)2210-6061;
- Turmas fechadas em outras cidades ligue (21)  8112-9988.

Em 28 de março de 2010 10:57, Isaac Sampaio <address@hidden>escreveu:

>
>
> Olá amigos, estou tendo algumas dificuldades para fazer isso aqui
> funcionar, pois quando executo a função que tem essa parte de codigo gera o
> erro:
>
> while : ; do
> [ -s "$lista_ipxmac" ] || echo "descricao|ip|mac" >> $lista_ipxmac
> resposta3=$( dialog --stdout --title "$rotulo" --ok-label 'Adicionar'
> --extra-button --extra-label 'Editar' \
> --cancel-label 'Voltar' --menu '' 0 90 0 \
> $(for list_ipxmac in `cat $lista_ipxmac`; do
> descricaoOfList=`echo $list_ipxmac | awk -F "|" '{print $1}'`
> ipOfList=`echo $list_ipxmac | awk -F "|" '{print $2}'`
> macOfList=`echo $list_ipxmac | awk -F "|" '{print $3}'`
> echo "$descricaoOfList $ipOfList $macOfList"
> done))
>
> A variavel $lista_ipxmac, armazena o caminho pra um arquivo que contem o
> seguinte conteudo:
>
> DESCRICAO|IP|MAC
>
> Vejo que o problema esta nos argumentos passados porque se eu retiro do
> echo 1 dos argumentos o erro desaparece, mas eu não sei como resolver este
> problema, por isso peço a ajuda de vocês que tem uma experiencia
> infinitamente maior que a minha nesse assunto.
>
> Obrigado a todos.
>
> __________________________________________________________
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

Links do Yahoo! Grupos


      
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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