Re: [shell-script] Bash 4.0

2009-04-14 Por tôpico MrBiTS
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

tuxhld wrote:
> Acessei o home do bash
> http://www.caliban.org/bash/
> 
> baixei a última versão 4.0
> ftp://ftp.cwru.edu/pub/bash/bash-4.0.tar.gz
> 
> tar xvfz bash-4.0.tar.gz
> cd bash-4.0
> ./configure --prefix=/opt/bash-4.0
> make
> make install
> 
> Correu tudo bem na instalação. Mas quando fui utilizar apareceu um bud após o 
> TAB para completar.
> 
> cd /opt/bash-4.0/bin
> ls *
> malloc: /Users/chet/src/bash/src/parse.y:5561: assertion botched
> free: called with unallocated block argument
> last command: echo $$
> Aborting...Aborted
> 
> Com isso, procurei pelo patch e baixei o último em
> ftp://ftp.cwru.edu/pub/bash/bash-4.0-patches/bash40-017
> 
> E quando fui aplica-lo apareceu o seguinte erro: 
> 
> $ patch < ../bash40-017 
> patching file parse.y
> Hunk #1 succeeded at 1878 (offset -2 lines).
> patching file patchlevel.h
> Hunk #1 FAILED at 26.
> 1 out of 1 hunk FAILED -- saving rejects to file patchlevel.h.rej
> 
> Alguém já conseguiu com sucesso compilar essa última versão do bash 4 com o 
> patch?

No LFS, para habilitar o auto-completion do bash, você precisa instalar o 
bash-autocompletion ( criativos, não ? ). Veja se não é
esse o caso.

Sua forma de usar o patch está diferente do que comumente usamos:

patch -Np1 < ../bash4-017


- --

Um abraço

.0. MrBiTs - mrb...@linuxmasters.info
..0 GnuPG  - 
http://keys.cardboard.net:11371/pks/lookup?op=get&search=0xAC37715A6DD1F186
000 http://www.mrbits.com.br


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAknkXLMACgkQrDdxWm3R8YYYwgCeMCmKrIluzORDZnw00Cj4UpK2
rtsAn2HsAS891fPU2bQKvl4xFo8lcawg
=2s4z
-END PGP SIGNATURE-


Re: [shell-script] Bash 4.0

2009-04-14 Por tôpico MrBiTS
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

> patch -Np1 < ../bash4-017

Mais um detalhe importante. os patches não são cumulativos. TODOS devem ser 
aplicados. A data do tarball do bash-4 é 20/02 e os
patches começam em 03/09. O cabeçalho do patch bash40-001 diz claramente que o 
arquivo parse.y, de 2009-01-08 08:29 (GMT - 5 ) será
modificado.
Vendo, então

mrb...@rimmon:~/bash4/bash-4.0$ ls -l parse.y
- -rw-r--r-- 1 mrbits mrbits 152480 2009-01-08 11:29 parse.y

Ok aqui.

Uma pequena correção na minha linha do patch. Faça

patch -Np0 -i ../bash40-001

Além disso, configure-o assim:

./configure --prefix=/opt/bash-4.0 --without-bash-malloc 
ac_cv_func_working_mktime=yes

Explicando:

- --without-bash-malloc desliga o uso da função de alocação de memória do bash, 
que é conhecida por causar os segfaults. Ele usará a
função de malloc da Glibc, que é mais estável.

- --ac_cv_func_working_mktime=yes pula a procura por mktime no configure e usa 
a versão da Glibc.

- --

Um abraço

.0. MrBiTs - mrb...@linuxmasters.info
..0 GnuPG  - 
http://keys.cardboard.net:11371/pks/lookup?op=get&search=0xAC37715A6DD1F186
000 http://www.mrbits.com.br


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAknkZGQACgkQrDdxWm3R8YbJewCeLGWIL9heA+OacWTfEgjpevnv
ipoAn2OjWreWR1sTlkLmF18psUhVOBPz
=bzMm
-END PGP SIGNATURE-


[shell-script] script que envia informação de nodes num cluster

2009-04-14 Por tôpico Luciano Costa
Olá pessoal,

Estou com um problema aqui pra solucionar e quero usar o comando
mpstat -p ALL que dá a informação do uso das CPUs de uma máquina. A questão
é como enviar a informação
deste comando de cada NODE para o SERVIDOR através de um script. O detalhe é
que além de ser enviada deve ser a cada time, por exemplo, a cada 5 min, em
que posso sobrescrever a informação num arquivo em DIR comum aos usuários do
cluster.

Alguém sugere algo ou site onde possa encontrar uma informação de uma
solução simples?

Muito grato pessoal,

Luciano


-- 
###  Luciano Tavares da Costa  ###
Laboratory of Molecular Spectroscopy
## IQ - University of Sao Paulo - Brazil ##
 http://lem.iq.usp.br;ltcni...@gmail.com  ##


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



Re: [shell-script] script que envia informação de nodes num cluster

2009-04-14 Por tôpico Flavio Junior
*/5 * * * * mpstat -p ALL > /dir_compartilhado/$(hostname -s)

ou então

*/5 * * * * rm -f /dir_compartilhado/mpstat-all.log && mpstat -p ALL
>> /dir_compartilhado/mpstat-all.log

Claro que to falando do crontab, e em todos os nodes do cluster. :)

--

Flavio do Carmo Junior aka waKKu

2009/4/14 Luciano Costa :
>
>
> Olá pessoal,
>
> Estou com um problema aqui pra solucionar e quero usar o comando
> mpstat -p ALL que dá a informação do uso das CPUs de uma máquina. A questão
> é como enviar a informação
> deste comando de cada NODE para o SERVIDOR através de um script. O detalhe é
> que além de ser enviada deve ser a cada time, por exemplo, a cada 5 min, em
> que posso sobrescrever a informação num arquivo em DIR comum aos usuários do
> cluster.
>
> Alguém sugere algo ou site onde possa encontrar uma informação de uma
> solução simples?
>
> Muito grato pessoal,
>
> Luciano
>
> --
> ### Luciano Tavares da Costa ###
> Laboratory of Molecular Spectroscopy
> ## IQ - University of Sao Paulo - Brazil ##
> http://lem.iq.usp.br;ltcni...@gmail.com ##
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 


Re: [shell-script] script que envia informação de nodes num cluster

2009-04-14 Por tôpico Luciano Costa
Mas neste caso Flavio, dir_compartilhado deve estar no SERVIDOR. Ou seja,
digamos que tenho
um cluster onde:

192.168.0.1 SERVIDOR
192.168.0.2 node2
192.168.0.3 node3

e assim por diante.

O script precisa ser rodado em cada node e enviar a informação pro SERVIDOR.

Pensei em usar o NFS, mas não sei se é a melhor solução.

Como vc me passou não ocorre isso, certo?





2009/4/14 Flavio Junior 

>
>
> */5 * * * * mpstat -p ALL > /dir_compartilhado/$(hostname -s)
>
> ou então
>
> */5 * * * * rm -f /dir_compartilhado/mpstat-all.log && mpstat -p ALL
> >> /dir_compartilhado/mpstat-all.log
>
> Claro que to falando do crontab, e em todos os nodes do cluster. :)
>
> --
>
> Flavio do Carmo Junior aka waKKu
>
> 2009/4/14 Luciano Costa >:
>
> >
> >
> > Olá pessoal,
> >
> > Estou com um problema aqui pra solucionar e quero usar o comando
> > mpstat -p ALL que dá a informação do uso das CPUs de uma máquina. A
> questão
> > é como enviar a informação
> > deste comando de cada NODE para o SERVIDOR através de um script. O
> detalhe é
> > que além de ser enviada deve ser a cada time, por exemplo, a cada 5 min,
> em
> > que posso sobrescrever a informação num arquivo em DIR comum aos usuários
> do
> > cluster.
> >
> > Alguém sugere algo ou site onde possa encontrar uma informação de uma
> > solução simples?
> >
> > Muito grato pessoal,
> >
> > Luciano
> >
> > --
> > ### Luciano Tavares da Costa ###
> > Laboratory of Molecular Spectroscopy
> > ## IQ - University of Sao Paulo - Brazil ##
> > http://lem.iq.usp.br;ltcni...@gmail.com##
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
>  
>



-- 
###  Luciano Tavares da Costa  ###
Laboratory of Molecular Spectroscopy
## IQ - University of Sao Paulo - Brazil ##
 http://lem.iq.usp.br;ltcni...@gmail.com  ##


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



Res: [shell-script] Ajuda com teste de string

2009-04-14 Por tôpico Felipe
Boa tarde Pessoal,
ainda estou aqui lutando pra descobrir uma forma de resolver meu problema e 
estou precisando de uma informações que talvez alguém saiba.
verifiquei que meu problema está realmente no comando "sed" não estou 
conseguindo pegar corretamente a informação que esta sendo passado pelo comand 
"snmpget"
fiz um teste no console para ver o que exatamente estava aconteceu e digitei o 
seguinte:
teste=`comando host|sed 's/STRING: "//'`

despois imprimi oque guardado na variavel:
echo $teste

Resultado:
Pronto. "

como vocês veem o "sed" está guardando um "espaço" e uma "aspa" na variavel, 
como faço para arrumar o "sed" para que não sejam guardados esses dois 
caracteres, para que seja mostrado na tela apenas "Pronto" ou talvez "Pronto."?

alguém pode dar um help?


Valeu!

 
 Felipe 
MSN Messenger: flpe...@yahoo.com.br
  





De: Cléoson Barreto 
Para: shell-script@yahoogrupos.com.br
Enviadas: Quarta-feira, 8 de Abril de 2009 10:42:15
Assunto: Re: [shell-script] Ajuda com teste de string


Olá!

É isso mesmo, acho que ficaria melhor seu código. Mas voltando à sua
dúvida, no primeiro if você está comparando o conteúdo da string $ST1 com
"Pronto. ". Note que entre o ponto e a aspa existe um espaço em branco. Se a
string $ST1 não tiver esse espaço em branco, então esse if sempre vai ser
falso. Será que não é isso?

[]'s
Cléoson
http://farinhadigit al.blogspot. com/

2009/4/8 Felipe 

>   Bom dia,
>
> Eu até entendi o que você me disse, desta forma o codigo ficará menor e
> menos sujo né?!
> Estou estudando pra melhorar isto! =)
> Eu ainda estou lendo sobre o SH e ainda não cheguei nesta parte, o que eu
> pude entender, pra poder explicar melhor o meu problema é o seguinte:
> quando eu testo o primeiro "if" que verifica se o status é pronto, extiste
> algum erro neste pornto, pois o quando o status está em "pronto" o "if" não
> entende e vai pro fim do script me apresentando uma mensagem de "Critical"
> no lugar de "OK", acho que eu não estou sabendo filtrar corretamente o
> comando na variavel "ST1", porque todos os outros teste dão "OK".
>
> Será que consegui explicar melhor?
>
> Obrigado!
>
> Felipe
> MSN Messenger: flpe...@yahoo. com.br 
>
>
>  _ _ __
> De: Cléoson Barreto 
> >
> Para: shell-script@ yahoogrupos. com.br 
> Enviadas: Terça-feira, 7 de Abril de 2009 22:22:16
> Assunto: Re: [shell-script] Ajuda com teste de string
> Olá!
>
> Apenas uma sugestão: não seria melhor se utilizasses o case ao invés de
> if? Assim, no lugar de várias variáveis ST1, ST2, etc, filtraria o
> resultado
> do comando snmpget em apenas uma variável com o egrep, e depois utilizaria
> o
> case.
>
> Estou sem máquina com linux pra testar no momento e tentar dar uma ajuda
> melhor, mas acho que esse seria um caso para o case. :-)
>
> []'s
> Cléoson.
> http://farinhadigit al.blogspot. com/
>
> 2009/4/7 César Vianna 
>
> > Como não disseste qual a dificuldade, seguem links sobre o assunto:
> >
> > http://wiki. softwarelivre. org/TWikiBar/ TWikiBarPapo003# O_Comando_ if
> >
> > http://wiki. softwarelivre. org/TWikiBar/ TWikiBarPapo004# E_tome_de_
> test
> >
> > 2009/4/7 Felipe >
> >
> >
> > > Boa tarde a todos,
> > >
> > > Sou novato em SH e estou encontrando dificuldades para tratar teste com
> o
> > > comando "if"
> > >
> > > Ajuda com teste de string
> > >
> > >
> > >
> >
> > --
> > César Vianna
> >  ---
> > Prefira o que é positivo e múltiplo; a diferença à uniformidade; o fluxo
> às
> > unidades; os agenciamentos móveis aos sistemas.
> > Gilles Deleuze & Felix Guattari
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbusca dos.yahoo. com
>
> [As partes desta mensa que não continham texto foram removidas]_
>

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


   


  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]



Re: [shell-script] script que envia informação de nodes num cluster

2009-04-14 Por tôpico Flavio Junior
Não entendi o teu conceito de "cluster", mas vamos a outra solução entao:

Desde que exista chave ssh entre nodes e SERVIDOR, tu pode fazer:

node1# mpstat -p ALL | ssh r...@servidor "cat > /tmp/mpstat-$(hostname -s)"
node2# mpstat -p ALL | ssh r...@servidor "cat > /tmp/mpstat-$(hostname -s)"

Se der certo, so por no cron na mesma ideia.

--

Flávio do Carmo Júnior aka waKKu

2009/4/14 Luciano Costa :
>
>
> Mas neste caso Flavio, dir_compartilhado deve estar no SERVIDOR. Ou seja,
> digamos que tenho
> um cluster onde:
>
> 192.168.0.1 SERVIDOR
> 192.168.0.2 node2
> 192.168.0.3 node3
>
> e assim por diante.
>
> O script precisa ser rodado em cada node e enviar a informação pro SERVIDOR.
>
> Pensei em usar o NFS, mas não sei se é a melhor solução.
>
> Como vc me passou não ocorre isso, certo?
>
> 2009/4/14 Flavio Junior 
>
>>
>>
>> */5 * * * * mpstat -p ALL > /dir_compartilhado/$(hostname -s)
>>
>> ou então
>>
>> */5 * * * * rm -f /dir_compartilhado/mpstat-all.log && mpstat -p ALL
>> >> /dir_compartilhado/mpstat-all.log
>>
>> Claro que to falando do crontab, e em todos os nodes do cluster. :)
>>
>> --
>>
>> Flavio do Carmo Junior aka waKKu
>>
>> 2009/4/14 Luciano Costa >:
>>
>> >
>> >
>> > Olá pessoal,
>> >
>> > Estou com um problema aqui pra solucionar e quero usar o comando
>> > mpstat -p ALL que dá a informação do uso das CPUs de uma máquina. A
>> questão
>> > é como enviar a informação
>> > deste comando de cada NODE para o SERVIDOR através de um script. O
>> detalhe é
>> > que além de ser enviada deve ser a cada time, por exemplo, a cada 5 min,
>> em
>> > que posso sobrescrever a informação num arquivo em DIR comum aos
>> > usuários
>> do
>> > cluster.
>> >
>> > Alguém sugere algo ou site onde possa encontrar uma informação de uma
>> > solução simples?
>> >
>> > Muito grato pessoal,
>> >
>> > Luciano
>> >
>> > --
>> > ### Luciano Tavares da Costa ###
>> > Laboratory of Molecular Spectroscopy
>> > ## IQ - University of Sao Paulo - Brazil ##
>> >
>> > http://lem.iq.usp.br;ltcni...@gmail.com##
>> >
>> > [As partes desta mensagem que não continham texto foram removidas]
>> >
>> >
>>
>>
>
> --
> ### Luciano Tavares da Costa ###
> Laboratory of Molecular Spectroscopy
> ## IQ - University of Sao Paulo - Brazil ##
> http://lem.iq.usp.br;ltcni...@gmail.com ##
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 


Re: [shell-script] Ajuda com teste de string

2009-04-14 Por tôpico Flavio Junior
sed -r 's/(STRING:|\s")//'

Tenta isso..

\s == espaços em branco, é um builtin do sed, mas se o teu nao
reconhecer tente por somente um espaço em branco normal.

--

Flávio do Carmo Júnior aka waKKu

2009/4/14 Felipe :
>
>
> Boa tarde Pessoal,
> ainda estou aqui lutando pra descobrir uma forma de resolver meu problema e
> estou precisando de uma informações que talvez alguém saiba.
> verifiquei que meu problema está realmente no comando "sed" não estou
> conseguindo pegar corretamente a informação que esta sendo passado pelo
> comand "snmpget"
> fiz um teste no console para ver o que exatamente estava aconteceu e digitei
> o seguinte:
> teste=`comando host|sed 's/STRING: "//'`
>
> despois imprimi oque guardado na variavel:
> echo $teste
>
> Resultado:
> Pronto. "
>
> como vocês veem o "sed" está guardando um "espaço" e uma "aspa" na variavel,
> como faço para arrumar o "sed" para que não sejam guardados esses dois
> caracteres, para que seja mostrado na tela apenas "Pronto" ou talvez
> "Pronto."?
>
> alguém pode dar um help?
>
> Valeu!
>
> Felipe
> MSN Messenger: flpe...@yahoo.com.br
>
>
> 
> De: Cléoson Barreto 
> Para: shell-script@yahoogrupos.com.br
> Enviadas: Quarta-feira, 8 de Abril de 2009 10:42:15
> Assunto: Re: [shell-script] Ajuda com teste de string
>
> Olá!
>
> É isso mesmo, acho que ficaria melhor seu código. Mas voltando à sua
> dúvida, no primeiro if você está comparando o conteúdo da string $ST1 com
> "Pronto. ". Note que entre o ponto e a aspa existe um espaço em branco. Se a
> string $ST1 não tiver esse espaço em branco, então esse if sempre vai ser
> falso. Será que não é isso?
>
> []'s
> Cléoson
> http://farinhadigit al.blogspot. com/
>
> 2009/4/8 Felipe 
>
>> Bom dia,
>>
>> Eu até entendi o que você me disse, desta forma o codigo ficará menor e
>> menos sujo né?!
>> Estou estudando pra melhorar isto! =)
>> Eu ainda estou lendo sobre o SH e ainda não cheguei nesta parte, o que eu
>> pude entender, pra poder explicar melhor o meu problema é o seguinte:
>> quando eu testo o primeiro "if" que verifica se o status é pronto, extiste
>> algum erro neste pornto, pois o quando o status está em "pronto" o "if"
>> não
>> entende e vai pro fim do script me apresentando uma mensagem de "Critical"
>> no lugar de "OK", acho que eu não estou sabendo filtrar corretamente o
>> comando na variavel "ST1", porque todos os outros teste dão "OK".
>>
>> Será que consegui explicar melhor?
>>
>> Obrigado!
>>
>> Felipe
>> MSN Messenger: flpe...@yahoo. com.br 
>>
>>
>>  _ _ __
>> De: Cléoson Barreto > 40gmail.com>
>> >
>> Para: shell-script@ yahoogrupos. com.br > com.br>
>> Enviadas: Terça-feira, 7 de Abril de 2009 22:22:16
>> Assunto: Re: [shell-script] Ajuda com teste de string
>> Olá!
>>
>> Apenas uma sugestão: não seria melhor se utilizasses o case ao invés de
>> if? Assim, no lugar de várias variáveis ST1, ST2, etc, filtraria o
>> resultado
>> do comando snmpget em apenas uma variável com o egrep, e depois utilizaria
>> o
>> case.
>>
>> Estou sem máquina com linux pra testar no momento e tentar dar uma ajuda
>> melhor, mas acho que esse seria um caso para o case. :-)
>>
>> []'s
>> Cléoson.
>> http://farinhadigit al.blogspot. com/
>>
>> 2009/4/7 César Vianna 
>>
>> > Como não disseste qual a dificuldade, seguem links sobre o assunto:
>> >
>> > http://wiki. softwarelivre. org/TWikiBar/ TWikiBarPapo003# O_Comando_ if
>> >
>> > http://wiki. softwarelivre. org/TWikiBar/ TWikiBarPapo004# E_tome_de_
>> test
>> >
>> > 2009/4/7 Felipe >
>> >
>> >
>> > > Boa tarde a todos,
>> > >
>> > > Sou novato em SH e estou encontrando dificuldades para tratar teste
>> > > com
>> o
>> > > comando "if"
>> > >
>> > > Ajuda com teste de string
>> > >
>> > >
>> > >
>> >
>> > --
>> > César Vianna
>> >  ---
>> > Prefira o que é positivo e múltiplo; a diferença à uniformidade; o fluxo
>> às
>> > unidades; os agenciamentos móveis aos sistemas.
>> > Gilles Deleuze & Felix Guattari
>> >
>> > [As partes desta mensagem que não continham texto foram removidas]
>> >
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>> Veja quais são os assuntos do momento no Yahoo! +Buscados
>> http://br.maisbusca dos.yahoo. com
>>
>> [As partes desta mensa que não continham texto foram removidas]_
>>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 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]
>
> 


[shell-script] expect + telnet

2009-04-14 Por tôpico Fabiano Caixeta Duarte
Senhores,

Estou precisando extrair umas informações de um switch. Ele infelizmente não 
retorna estas informações via SNMP (pelo menos que eu saiba). Então resolvi 
fazer um script com expect.

cat get_mactable.exp

#!/usr/bin/expect -f

spawn telnet [lindex $argv 0]
expect {
  UserName: {
send sti\r
expect {
  PassWord: {
send cnr7pm\r
expect {
  "#" {
send "show fdb\r"
send a
  }
}
  }
}
  }
}

Qual comando devo colocar após o "send a" para que ele jogue na stdin o 
resultado do comando?

Se eu coloco exp_continue após o "send a", ele me retorna o que eu quero. O 
problema é que ele entra em loop, uma vez que ele continua encontrando o prompt 
"#".

Toda ajuda é bem-vinda. 

Obrigado!

PS: tudo que acho na net sobre expect + telnet usa o comando interact do 
except. Como eu quero uma solução não-interativa, isto não resolve ;)



Re: [shell-script] Ajuda com teste de string

2009-04-14 Por tôpico Julio C. Neves
Fala Felipe,
isso deve funcionar:

*teste=`comando host|sed -r 's/STRING: "(.*) .*/\1/'`*
-- 
Abração,
Julio
*Cursos de Shell e Zenity nos finais de semana:
- Em SP ligue (11) 2125-4747;
- Em DF ligue (61) 3223-3000;
- No RJ brevemente;
- Turmas fechadas em outras cidades ligue (21) 8112-9988*

2009/4/14 Felipe 

>
>
> Boa tarde Pessoal,
> ainda estou aqui lutando pra descobrir uma forma de resolver meu problema e
> estou precisando de uma informações que talvez alguém saiba.
> verifiquei que meu problema está realmente no comando "sed" não estou
> conseguindo pegar corretamente a informação que esta sendo passado pelo
> comand "snmpget"
> fiz um teste no console para ver o que exatamente estava aconteceu e
> digitei o seguinte:
> teste=`comando host|sed 's/STRING: "//'`
>
> despois imprimi oque guardado na variavel:
> echo $teste
>
> Resultado:
> Pronto. "
>
> como vocês veem o "sed" está guardando um "espaço" e uma "aspa" na
> variavel, como faço para arrumar o "sed" para que não sejam guardados esses
> dois caracteres, para que seja mostrado na tela apenas "Pronto" ou talvez
> "Pronto."?
>
> alguém pode dar um help?
>
> Valeu!
>
> Felipe
> MSN Messenger: flpe...@yahoo.com.br 
>
>
> 
> De: Cléoson Barreto 
> >
> Para: shell-script@yahoogrupos.com.br 
> Enviadas: Quarta-feira, 8 de Abril de 2009 10:42:15
> Assunto: Re: [shell-script] Ajuda com teste de string
>
> Olá!
>
> É isso mesmo, acho que ficaria melhor seu código. Mas voltando à sua
> dúvida, no primeiro if você está comparando o conteúdo da string $ST1 com
> "Pronto. ". Note que entre o ponto e a aspa existe um espaço em branco. Se
> a
> string $ST1 não tiver esse espaço em branco, então esse if sempre vai ser
> falso. Será que não é isso?
>
> []'s
> Cléoson
> http://farinhadigit al.blogspot. com/
>
> 2009/4/8 Felipe 
>
> > Bom dia,
> >
> > Eu até entendi o que você me disse, desta forma o codigo ficará menor e
> > menos sujo né?!
> > Estou estudando pra melhorar isto! =)
> > Eu ainda estou lendo sobre o SH e ainda não cheguei nesta parte, o que eu
> > pude entender, pra poder explicar melhor o meu problema é o seguinte:
> > quando eu testo o primeiro "if" que verifica se o status é pronto,
> extiste
> > algum erro neste pornto, pois o quando o status está em "pronto" o "if"
> não
> > entende e vai pro fim do script me apresentando uma mensagem de
> "Critical"
> > no lugar de "OK", acho que eu não estou sabendo filtrar corretamente o
> > comando na variavel "ST1", porque todos os outros teste dão "OK".
> >
> > Será que consegui explicar melhor?
> >
> > Obrigado!
> >
> > Felipe
> > MSN Messenger: flpe...@yahoo. com.br 
> >
> >
> >  _ _ __
> > De: Cléoson Barreto  40gmail.com>
> > >
> > Para: shell-script@ yahoogrupos. com.br  com.br>
> > Enviadas: Terça-feira, 7 de Abril de 2009 22:22:16
> > Assunto: Re: [shell-script] Ajuda com teste de string
> > Olá!
> >
> > Apenas uma sugestão: não seria melhor se utilizasses o case ao invés de
> > if? Assim, no lugar de várias variáveis ST1, ST2, etc, filtraria o
> > resultado
> > do comando snmpget em apenas uma variável com o egrep, e depois
> utilizaria
> > o
> > case.
> >
> > Estou sem máquina com linux pra testar no momento e tentar dar uma ajuda
> > melhor, mas acho que esse seria um caso para o case. :-)
> >
> > []'s
> > Cléoson.
> > http://farinhadigit al.blogspot. com/
> >
> > 2009/4/7 César Vianna 
> >
> > > Como não disseste qual a dificuldade, seguem links sobre o assunto:
> > >
> > > http://wiki. softwarelivre. org/TWikiBar/ TWikiBarPapo003# O_Comando_
> if
> > >
> > > http://wiki. softwarelivre. org/TWikiBar/ TWikiBarPapo004# E_tome_de_
> > test
> > >
> > > 2009/4/7 Felipe >
> > >
> > >
> > > > Boa tarde a todos,
> > > >
> > > > Sou novato em SH e estou encontrando dificuldades para tratar teste
> com
> > o
> > > > comando "if"
> > > >
> > > > Ajuda com teste de string
> > > >
> > > >
> > > >
> > >
> > > --
> > > César Vianna
> > >  ---
> > > Prefira o que é positivo e múltiplo; a diferença à uniformidade; o
> fluxo
> > às
> > > unidades; os agenciamentos móveis aos sistemas.
> > > Gilles Deleuze & Felix Guattari
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > Veja quais são os assuntos do momento no Yahoo! +Buscados
> > http://br.maisbusca dos.yahoo. com
> >
> > [As partes desta mensa que não continham texto foram removidas]_
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 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]



Re: [shell-script] script que envia informação de nodes num cluster

2009-04-14 Por tôpico Julio C. Neves
Fala Luciano,
vou te dar uma resposta um pouco vaga, mas vale a pena pesquisar.
Cada cliente deverá ter em sua crontab uma linha referente ao mpstat do qual
vc deseja obter o resultado.

Para mandar para o servidor, verifique a sintaxe dos seguintes cmds:
*nc* (netcat) esse é o meu preferido;
*expect* (tb é muito bom);
*ssh* (não gosto de usar este em scripts)
-- 
Abração,
Julio
*Cursos de Shell e Zenity nos finais de semana:
- Em SP ligue (11) 2125-4747;
- Em DF ligue (61) 3223-3000;
- No RJ brevemente;
- Turmas fechadas em outras cidades ligue (21) 8112-9988*

2009/4/14 Luciano Costa 

>
>
> Olá pessoal,
>
> Estou com um problema aqui pra solucionar e quero usar o comando
> mpstat -p ALL que dá a informação do uso das CPUs de uma máquina. A questão
> é como enviar a informação
> deste comando de cada NODE para o SERVIDOR através de um script. O detalhe
> é
> que além de ser enviada deve ser a cada time, por exemplo, a cada 5 min, em
> que posso sobrescrever a informação num arquivo em DIR comum aos usuários
> do
> cluster.
>
> Alguém sugere algo ou site onde possa encontrar uma informação de uma
> solução simples?
>
> Muito grato pessoal,
>
> Luciano
>
> --
> ### Luciano Tavares da Costa ###
> Laboratory of Molecular Spectroscopy
> ## IQ - University of Sao Paulo - Brazil ##
> http://lem.iq.usp.br;ltcni...@gmail.com ##
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



Re: [shell-script] expect + telnet

2009-04-14 Por tôpico Flavio Junior
Um exemplo parecido com o teu, pode te ajudar..
Uso pra criar a regra de nat em um roteador da embratel:

Paste: http://rafb.net/p/2bfyaa19.html

ou


wallygator:~ # cat /scripts/nat-rule.expect
#!/usr/bin/expect -f
spawn telnet 192.168.0.1
expect ".*Type ENTER.*"
send "\r"
expect ".*ption:.*"
send "2"
expect "PROSUL>"
send "enable\r"
expect "PROSUL#"
send "show nat-rules\r"
expect "NAT rule SSH" {
send "exit\r"
send "exit\r"
expect ".*ption:.*"
send "e"
expect eof
send_user "$expect_out(buffer)"
exit 0
}
expect "PROSUL#" {
send "configure terminal\r"
expect "(config)#"
send "nat-rule SSH tcp any any eq 2200 change-destination-to
192.168.0.2\r"
expect "(config)#"
send "interface serial 0\r"
expect "(config-if-serial0)#"
send "ip nat SSH in\r"
send "exit\r"
send "exit\r"
send "exit\r"
send "exit\r"
expect ".*ption:.*"
send "e"
expect eof
send_user "$expect_out(buffer)"
exit 0
}


--

Flávio do Carmo Júnior aka waKKu

2009/4/14 Fabiano Caixeta Duarte :
>
>
> Senhores,
>
> Estou precisando extrair umas informações de um switch. Ele infelizmente não
> retorna estas informações via SNMP (pelo menos que eu saiba). Então resolvi
> fazer um script com expect.
>
> cat get_mactable.exp
>
> #!/usr/bin/expect -f
>
> spawn telnet [lindex $argv 0]
> expect {
> UserName: {
> send sti\r
> expect {
> PassWord: {
> send cnr7pm\r
> expect {
> "#" {
> send "show fdb\r"
> send a
> }
> }
> }
> }
> }
> }
>
> Qual comando devo colocar após o "send a" para que ele jogue na stdin o
> resultado do comando?
>
> Se eu coloco exp_continue após o "send a", ele me retorna o que eu quero. O
> problema é que ele entra em loop, uma vez que ele continua encontrando o
> prompt "#".
>
> Toda ajuda é bem-vinda.
>
> Obrigado!
>
> PS: tudo que acho na net sobre expect + telnet usa o comando interact do
> except. Como eu quero uma solução não-interativa, isto não resolve ;)
>
> 


[shell-script] Re: expect + telnet

2009-04-14 Por tôpico Fabiano Caixeta Duarte
--- Em shell-script@yahoogrupos.com.br, Flavio Junior  escreveu
>
> Um exemplo parecido com o teu, pode te ajudar..
> Uso pra criar a regra de nat em um roteador da embratel:
> 
> Paste: http://rafb.net/p/2bfyaa19.html
> 
> --
> 
> Flávio do Carmo Júnior aka waKKu
> 
> 2009/4/14 Fabiano Caixeta Duarte :
> >
> >
> > Senhores,
> >
> > Estou precisando extrair umas informações de um switch. Ele infelizmente não
> > retorna estas informações via SNMP (pelo menos que eu saiba). Então resolvi
> > fazer um script com expect.
> >
> > cat get_mactable.exp
> >
> > #!/usr/bin/expect -f
> >
> > spawn telnet [lindex $argv 0]
> > expect {
> > UserName: {
> > send sti\r
> > expect {
> > PassWord: {
> > send cnr7pm\r
> > expect {
> > "#" {
> > send "show fdb\r"
> > send a
> > }
> > }
> > }
> > }
> > }
> > }
> >
> > Qual comando devo colocar após o "send a" para que ele jogue na stdin o
> > resultado do comando?
> >
> > Se eu coloco exp_continue após o "send a", ele me retorna o que eu quero. O
> > problema é que ele entra em loop, uma vez que ele continua encontrando o
> > prompt "#".
> >
> > Toda ajuda é bem-vinda.
> >
> > Obrigado!
> >
> > PS: tudo que acho na net sobre expect + telnet usa o comando interact do
> > except. Como eu quero uma solução não-interativa, isto não resolve ;)
> >
> >
>

Ajudou!

O que resolveu foi um "expect eof" após o send. Eu tinha tentado expect *. 
Passei perto ;)

Obrigado!