A solução do Fabricio é a que funcionou

ssh r...@${vetor[$zero]} "df && echo && free -m && echo"

Porém eu aconselho fortemente substituir o "&&" por " ;", pois usando o 
&& se um comando der errado os outros não são executados.

Veja os exemplos:

# Com todos os comando executados com sucesso e usando "&&"
l...@lbw-laptop:~/tmp$ ssh [email protected] "df && echo && free -m && echo"
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2             29753588   7312640  20905136  26% /
/dev/sda4            167662204  78348136  80659856  50% /var
/dev/sda1               101086     17781     78086  19% /boot
tmpfs                  4087008         0   4087008   0% /dev/shm

             total       used       free     shared    buffers     cached
Mem:          7982       7924         57          0        373       6541
-/+ buffers/cache:       1010       6972
Swap:         8997          0       8997

# Com o df passando um argumento inválido e usando "&&"
l...@lbw-laptop:~/tmp$ ssh [email protected] "df --naoexiste && echo && 
free -m && echo"
df: unrecognized option `--naoexiste'
Try `df --help' for more information.
l...@lbw-laptop:~/tmp$

# O mesmo de cima mas usando o ";"
l...@lbw-laptop:~/tmp$ ssh [email protected] "df --naoexiste ; echo ; free 
-m ; echo"

             total       used       free     shared    buffers     cached
Mem:          7982       7937         45          0        373       6540
-/+ buffers/cache:       1023       6958
Swap:         8997          0       8997

df: unrecognized option `--naoexiste'
Try `df --help' for more information.
l...@lbw-laptop:~/tmp$

Pegou a questão?


Thiago Diniz da Silveira escreveu:
> Bom.. até agora não sei qual solução funcionou..
>
> foi colocar os comandos ao lado do comando do ssh? a primeira solução
> proposta?
>
> Também acho que deve ter jeito mais fácil e/ou pronto para fazer isso que
> ele quer.
>
> Em 27 de maio de 2010 15:24, Lawrence Waclawiak
> <[email protected]>escreveu:
>
>   
>> Sua solução funcionou para mim.
>>
>> Adicionalmente se não for possivel utilizar as chaves para não pedir
>> senha pode-se usar um progrma chamado sshpass para passar a senha para o
>> ssh, utilizo isso para disparar comandos para várias maquinas que
>> administro
>>
>> Fabricio Candido escreveu:
>>
>>     
>>> Luiz, bom dia.
>>>
>>> Isso nao seria bem shell mas como vc esta usando ssh, Uma sugestão: mude
>>> as linhas:
>>>
>>> ssh r...@${vetor[$zero]}
>>> df && echo && free -m && echo
>>> exit
>>>
>>> por:
>>>
>>> ssh r...@${vetor[$zero]} "df && echo && free -m && echo"
>>>
>>>
>>> Att.
>>>
>>> Fabricio Candido
>>>
>>> 2010/5/27 Luiz guilherme Nunes Fernandes 
>>> <[email protected]<spinal_df%40yahoo.com.br>
>>>
>>>
>>>
>>>       
>>>> Prezados, tudo bem?
>>>>
>>>> Estou com o seguinte problema, montei um script, que não funciona
>>>> corretamente, gostaria que ele fizessse conexão ssh entre umas 100
>>>>         
>> máquinas
>>     
>>>> aproximadamente. Dentro dos vetores eu iria adicionando os ips de minha
>>>> rede, os servidores já possuem chaves assimétricas. Gostaria que ele
>>>> conectasse um por um deles e desconectassem, como seria para eu
>>>>         
>> desconectar
>>     
>>>> no servidor com o próprio script na máquina local. Quando ele se conecta
>>>>         
>> ao
>>     
>>>> primeiro ip, ele não fecha a coneção do ssh.
>>>>
>>>> #!/bin/bash
>>>>
>>>> #Desenvolvido por Luiz Guilherme Nunes Fernandes
>>>>
>>>> rddez="10.10."
>>>> rdcnd="192.168."
>>>>
>>>> #Rede 10.10.0.0
>>>> vetor=("$rddez"190.10 "$rddez"190.12)
>>>>
>>>> #Rede 192.168.0.0
>>>> array=("$rdcnd"10.2 "$rdcnd"10.3)
>>>>
>>>> echo "###############"
>>>>
>>>> ################################
>>>> ########## Rede 10.10 ##########
>>>> ################################
>>>>
>>>> cont=${#vetor[*]}
>>>> zero=0
>>>> while [ $zero -lt $cont ]; do
>>>> echo ${vetor[$zero]}
>>>> ssh r...@${vetor[$zero]}
>>>> df && echo && free -m && echo
>>>> exit
>>>> zero=$[zero + 1]
>>>> echo "###############"
>>>> done
>>>>
>>>> ################################
>>>> ######### Rede 192.168 #########
>>>> ################################
>>>>
>>>> contt=${#array[*]}
>>>> inicial=0
>>>> while [ $inicial -lt $contt ]; do
>>>> echo ${array[$inicial]}
>>>> ssh r...@{array[$inicial]}
>>>> df && echo && free -m && echo
>>>> exit
>>>> inicial=$[inicial + 1]
>>>> echo "###############"
>>>> done
>>>>
>>>> Att.
>>>> Luiz Guilherme Nunes Fernandes
>>>>
>>>> [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: 
>>> [email protected]<shell-script-unsubscribe%40yahoogrupos.com.br>
>>> ----------------------------------------------------------
>>> 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
>>>
>>>
>>>
>>>
>>>       
>>  
>>
>>     
>
>
> [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: [email protected]
> ---------------------------------------------------------------------
> 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
>
>
>
>   


Responder a