Ir direto para busca.
shell-script · Lista brasileira sobre Linux Shell Script

Informações sobre o grupo

  • Associados: 3870
  • Categoria: Linux
  • Criado em: Jun 5, 2000
  • Idioma: Português
? Você já é um associado? Entre no Yahoo!

Dicas

Você sabia...
Você pode fazer buscas no grupo por mensagens antigas.

Mensagens

  Ajuda
Avançado
mensagens 5084 - 5113 de 36015   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
mensagens 5084 - 5113 de 36015   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
mensagens: Exibir resumo de mensagens Classificar por data ^  
#5084 De: ADRIANO BRAND <abrand@...>
Data: Ter, 1 de Jul de 2003 4:40 pm
Assunto: Executar comando em script com teclado numerico
abrand@...
Enviar e-mail Enviar e-mail
 
Olá lista!
  Este meu script usando o dialog atualmente funciona assim..
  dititando o numero da opção + enter ele chama o outro script,
só que na estação em que ele vai trabalhar só terá um teclado
numérico. [0-9]. Oque eu mudo para que mudando as opções
p/ 2 digitos [00-99], ele execute (chame o outro script)
sem a nescessidade do enter...?
Desde já agradeço a todos!



#!/bin/sh
for tty in /dev/tty[1-9]*;do
/usr/bin/setleds -D +num <$tty
done
dialog --title "Mastertec v0.2" \
--menu "Menu Principal" 15 40 8 \
"1" ATB \
"2" ATC \
"3" Micros \
"4" VSat \
"" "" \
"9" "Reinicia o Computador" \
"0" "Desliga o Computador" \
2> /tmp/script.$$
script=`cat /tmp/script.$$`
op=$?
if [ $script = 1 ]; then
./atb
elif [ $script = 2 ]; then
./atc
elif [ $script = 3 ]; then
./micros
elif [ $script = 9 ]; then
shutdown -r now
elif [ $script = 0 ]; then
halt
fi



Adriano Brand
-----------------------
Técnico em Eletrônica e Desconfigurador de Linux nas horas vagas
Atlhon 1.3GHz, pcchips 810 (tudo omboard), 256MBRAM
Curitiba-PR

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

#5085 De: Aurelio Marinho Jargas <aureliojargas@...>
Data: Ter, 1 de Jul de 2003 6:05 pm
Assunto: Re: Executar comando em script com teclado numerico
aureliojargas
Enviar e-mail Enviar e-mail
 
ae adriano,

>  Este meu script usando o dialog atualmente funciona assim..
>  dititando o numero da opção + enter ele chama o outro script,
> só que na estação em que ele vai trabalhar só terá um teclado
> numérico. [0-9]. Oque eu mudo para que mudando as opções
> p/ 2 digitos [00-99], ele execute (chame o outro script)
> sem a nescessidade do enter...?

mmmm, agora você chegou numa limitação do dialog.
até onde eu sei, o enter é sempre necessário, não há uma opção
tipo "retorne o selecionado após N segundos".

nesse caso ou você pode tentar o whiptail (mas acho que ele tb não
deve ter) ou desistir das caixinhas e fazer o menu como texto
mesmo, e usar um

      read -n 1

se for bash2 ou simular um getchar se for outro shell:

      getc(){
        stty raw
        eval $1="`dd bs=1 count=1 2>&-`"
        stty cooked
      }

falouzz!



=====
--
Aurelio Marinho Jargas - Floripa
Procuro trabalho, mais info em http://aurelio.net
Fotos do IV FISL (Porto Alegre) http://aurelio.net/viagem/fisl-2003/

_______________________________________________________________________
Yahoo! Mail
Mais espaço, mais segurança e gratuito: caixa postal de 6MB, antivírus, proteção
contra spam.
http://br.mail.yahoo.com/

#5086 De: Felipe Kellermann <stdfk@...>
Data: Ter, 1 de Jul de 2003 7:24 pm
Assunto: Re: Executar comando em script com teclado numerico
stdfk@...
Enviar e-mail Enviar e-mail
 
On Tue, 1 Jul 2003 1:40pm  -0300, ADRIANO BRAND wrote:

>  Olá lista!
>  Este meu script usando o dialog atualmente funciona assim..
>  dititando o numero da opção + enter ele chama o outro script,
> só que na estação em que ele vai trabalhar só terá um teclado
> numérico. [0-9]. Oque eu mudo para que mudando as opções
> p/ 2 digitos [00-99], ele execute (chame o outro script)
> sem a nescessidade do enter...?

	 Veja alguma chamada mais ou menos assim:

$ cat l
#!/bin/sh
read -sn 3 k && echo "k: ${k:2}"

	 A `-s' e `-n' são da bash 2.04,

--
Felipe Kellermann

#5087 De: Aurelio Marinho Jargas <aureliojargas@...>
Data: Qui, 3 de Jul de 2003 4:30 pm
Assunto: lista de nacional cygwin
aureliojargas
Enviar e-mail Enviar e-mail
 
oi pessoal,

pra que não fiquemos discutindo cygwin na lista de shell,
acabei de criar a cygwin-br no yahoo.

não sei se tem muita gente que usa, mas a lista será um bom
termômetro da utilização dele.

então peço que quem usa o cygwin, ou está pensando em instalá-lo,
venha conversar conosco em
http://br.groups.yahoo.com/group/cygwin-br

se alguém tiver login em fórums e sites de notícia e quiser
ajudar a divulgar a lista, agradeço muito!

em tempo: cygwin é o linux (ou parte dele) no windows :)

falouzz!

=====
--
Aurelio Marinho Jargas - Floripa
Procuro trabalho, mais info em http://aurelio.net
Fotos do IV FISL (Porto Alegre) http://aurelio.net/viagem/fisl-2003/
Desenvolvimento Livre http://aurelio.net/doc/changelog-nerd.html

_______________________________________________________________________
Yahoo! Mail
Mais espaço, mais segurança e gratuito: caixa postal de 6MB, antivírus, proteção
contra spam.
http://br.mail.yahoo.com/

#5088 De: Jean Carlos <jcarloslinux@...>
Data: Qui, 3 de Jul de 2003 4:55 pm
Assunto: Direcionar saída Display
jcarloslinux
Enviar e-mail Enviar e-mail
 
Olá pessoal !

minha dúvida é a seguinte:

Tenho um shell agendado na crontab, com isso roda em Backgroud. ao
término deste shell coloquei uma menságem de alerta usando o dialog,
mais não consegui direcionar a saída para a minha sessão para que eu
possa ver a mensagem...
Alguém tem uma dica !

TKS


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

#5089 De: "Daniel Imaz." <shrike_redh@...>
Data: Qui, 3 de Jul de 2003 5:09 pm
Assunto: Re: verificar se o servidor esta no ar
shrike_redh
Enviar e-mail Enviar e-mail
 
Como a verificação é local, se você trocar o nmap
localhost por netstat -an | grep 3306 | grep LISTEN
será mais rápido.



  --- Joao Paulo Muller da Silva
<jpsilva@...> escreveu:
---------------------------------

pessoal..

seguinte, eu fiz aqui um script bem simples para
verificar se o servidor
de mysql esta rodando, e estou divulgando ele aqui na
lista, para ver se alguem tem alguma sugestao de
melhoria.

#!/bin/bash

nmap localhost | grep mysql > arquivo_do_nmap.txt

NUMERO_DE_PALAVRAS=`cat arquivo_do_nmap.txt | wc -w`

if test $NUMERO_DE_PALAVRAS -eq 0; then

         echo servidor fora do ar

fi

sleep 60

./verifica_servidor &


  "meu objetivo é ganhar e, para isso, tenho de dar
sempre o melhor de mim"

   Ayrton Senna



Yahoo! Groups SponsorPUBLICIDADE

Encontre seu Par Perfeito agora mesmo   [input]
[input]   [input]  [input]  [input]  [input]
Procuro por: HomemMulher

  Entre 15-19 18-24 20-24 25-29 30-34 35-39 40-44 45-49
50-54 55-59 60-64 anos

Estado:  ACALAMAP BACE DF ESGOMA MGMSMT PA PBPE
PIPRRJRN RORR RSSCSESPTO [input]





---------------------------------------------------------------------
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:
shell-script-unsubscribe@...
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------


Seu uso do Yahoo! Grupos é sujeito aos Termos do
Serviço Yahoo!.

_______________________________________________________________________
Yahoo! Mail
Mais espaço, mais segurança e gratuito: caixa postal de 6MB, antivírus, proteção
contra spam.
http://br.mail.yahoo.com/

#5090 De: "Daniel Imaz." <shrike_redh@...>
Data: Qui, 3 de Jul de 2003 5:19 pm
Assunto: Re: Direcionar saída Display
shrike_redh
Enviar e-mail Enviar e-mail
 
Você poderia direcionar a saída para um arquivo e ir
consultando ele sempre que necessário ou então, você
pode direcionar a saída para o seu terminal, por
exemplo:

echo TESTE > /dev/tty1

  --- Jean Carlos <jcarloslinux@...> escreveu:

---------------------------------
Olá pessoal !

minha dúvida é a seguinte:

Tenho um shell agendado na crontab, com isso roda em
Backgroud. ao
término deste shell coloquei uma menságem de alerta
usando o dialog,
mais não consegui direcionar a saída para a minha
sessão para que eu
possa ver a mensagem...
Alguém tem uma dica !

TKS


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


Yahoo! Groups Sponsor

      Faça sua busca:
  Ache agora a sua
vaga!ProfissionalDiretoriaGerênciaSupervisãoSuperiorTécnicoO\
utrosRecém-formadosEstágiários
  [input]  [input]  [input]

---------------------------------------------------------------------
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:
shell-script-unsubscribe@...
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------


Seu uso do Yahoo! Grupos é sujeito aos Termos do
Serviço Yahoo!.

_______________________________________________________________________
Yahoo! Mail
Mais espaço, mais segurança e gratuito: caixa postal de 6MB, antivírus, proteção
contra spam.
http://br.mail.yahoo.com/

#5091 De: "Mateus Caruccio" <caruccio@...>
Data: Qui, 3 de Jul de 2003 5:31 pm
Assunto: Re: Direcionar saída Display
mcaruccio
Enviar e-mail Enviar e-mail
 
opa,

----- Original Message -----
From: "Daniel Imaz." <shrike_redh@...>
Date: Thu, 3 Jul 2003 14:19:08 -0300 (ART)
To: shell-script@...
Subject: Re: [shell-script] Direcionar saída Display

> Você poderia direcionar a saída para um arquivo e ir
> consultando ele sempre que necessário ou então, você
> pode direcionar a saída para o seu terminal, por
> exemplo:
>
> echo TESTE > /dev/tty1


ou voce pode direcionar para o terminal corrente fazendo:

$ echo TESTE > /dev/console

  ou

$ echo TESTE > /dev/stderr

mas, se nao me engano, somente a stdout envida para o console. a stdin nao...
portanto voce nao tem como pressionar um ENTER (ou algo pareceido) para fechar a
janela do dialog...

>
>  --- Jean Carlos <jcarloslinux@...> escreveu:
>
> ---------------------------------
> Olá pessoal !
>
> minha dúvida é a seguinte:
>
> Tenho um shell agendado na crontab, com isso roda em
> Backgroud. ao
> término deste shell coloquei uma menságem de alerta
> usando o dialog,
> mais não consegui direcionar a saída para a minha
> sessão para que eu
> possa ver a mensagem...
> Alguém tem uma dica !
>
> TKS
>
>
> [As partes desta mensagem que não continham texto
> foram removidas]
>
>
> Yahoo! Groups Sponsor
>
>      Faça sua busca:
>  Ache agora a sua
>
vaga!ProfissionalDiretoriaGerênciaSupervisãoSuperiorTécnicoOutrosRecém-formadosE\
stágiários
>  [input]  [input]  [input]
>
> ---------------------------------------------------------------------
> 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:
> shell-script-unsubscribe@...
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>
>
> Seu uso do Yahoo! Grupos é sujeito aos Termos do
> Serviço Yahoo!.
>
> _______________________________________________________________________
> Yahoo! Mail
> Mais espaço, mais segurança e gratuito: caixa postal de 6MB, antivírus,
proteção contra spam.
> http://br.mail.yahoo.com/
>
>
> ---------------------------------------------------------------------
> 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: shell-script-unsubscribe@...
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
>
>



# ########################################################
# Mateus de Oliveira Caruccio <caruccio at operamail.com>
# Linux User #183552 - UIN #37364320
# Vim, vi e matei o Emacs !



--
____________________________________________
http://www.operamail.com
Get OperaMail Premium today - USD 29.99/year


Powered by Outblaze

#5092 De: Listas XTMS <listas@...>
Data: Qui, 3 de Jul de 2003 5:58 pm
Assunto: ZSH
listas@...
Enviar e-mail Enviar e-mail
 
Olá, Lista.

Não sei se alguém acompanha o Linux in Brazil, mas surgiu lá uma discussão sobre
zsh.
Ela descambou para um flame no final, mas um dos que arranjou a briga (além de
mim... :-\ ), me mandou um e-mail mto interessante sobre zsh.
Como eu não conhecia e não sei se alguém aqui já usou, estou mandando um
forward. Achei algumas coisas interessantes...

Segue abaixo (autor - patolinux@...):

Uso interativo:

* Muito mais opções de linha de comando no zsh; veja man bash e veja
man zsh.
* Muito mais opções nos arquivos de controle no zsh; em especial, veja
"man zshoptions" e a função 'setopt'.
* Sistema de autocompletação mais flexível, universal e programável do
que no bash; veja "man zshcompsys", "man zshcompctl" e "man
zshcompwid". Em especial, o artigo
http://www.linux-mag.com/2002-07/power_01.html é muito esclarecedor.
Para saber sobre a nova autocompletação do bash 2, que melhorou
bastante mas ainda não chega ao nível da do zsh:
http://www.caliban.org/bash/index.shtml
* Sistema muito melhor de personalização do prompt de linha de
comando; em especial, veja 'prompt expansion' no 'man zshmisc'. O
melhor de todos é a possibilidade de pôr uma string do lado direito,
além do lado esquerdo.

Uso para programação:
* co-processes. "man zshmisc", procure por coproc. Recurso muito útil
para programação concorrente, é um pipe de duas vias.
* cliente ftp embutido, com comandos fáceis.
* dezenas de módulos que fazem as mais diversas coisas. Arquitetura de
plugins.
* Modos de compatibilidade com programação de ksh convencional e de bash.
* Importantíssimo recurso: o processo original fica no lado direito de
um pipe e não no esquerdo, como no bash. Assim:

echo a | read x; echo $x

no bash retorna nada, no zsh retorna a. Se você já programou
seriamente em shell sabe que este detalhe no bash torna inviável loops
while por pipe no bash, pois ele não conseguirá mudar variáveis
externas dentro deste loop. Ex.:

x=1
echo "a
b
c
d
e
f" | while read var
do
   x="${x}${var}"
done
echo $x

Tem muito mais coisa, mas acho que isso é suficiente pra uma
explicaçãozinha *básica*. =)

---- FIM DA MENSAGEM ORIGINAL ----


Atenciosamente,
Eri Ramos Bastos

#5093 De: Dorneles Treméa <dorneles@...>
Data: Sex, 4 de Jul de 2003 12:48 am
Assunto: Re: verificar se o servidor esta no ar
dtremea
Enviar e-mail Enviar e-mail
 
Olás,

> Como a verificação é local, se você trocar o nmap
> localhost por netstat -an | grep 3306 | grep LISTEN
> será mais rápido.

sugestão: saque fora o último pipe e o grep... :-)

Utilize a opção -l do netstat:

netstat -aln | grep 3306

Isso lista apenas os sockets que estão na escuta, evitando
qualquer problema que possa dar com outros locales (como o
meu, pt_BR, onde tem OUÇA no lugar de LISTEN)... ;-)

T+

--

Dorneles Treméa
Caxias do Sul - RS - Brasil
+55 54 9114 9312 - UIN: 2413568
X3ng Web Technology <http://www.x3ng.com.br>

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS/IT d- s:->: a23 C+++ UBL++++$ P--- L++ E-- W+++
N++ o? K? w+ O M+ V-- PS+ PE- Y-- PGP++ t+ 5 X++ R+
tv+ b(++) DI+ D++ G+>+++ e++>++++ h---- r+++ y+++**
------END GEEK CODE BLOCK------



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

#5094 De: "lista-1" <lista-1@...>
Data: Sex, 4 de Jul de 2003 12:33 pm
Assunto: Dá pra fazer mais simples ?
toldx
Enviar e-mail Enviar e-mail
 
echo lista-1 bol com br | sed 's/ /@/' | sed 's/ /./g'



paulo henrique
-----------------------

#5095 De: "Mateus Caruccio" <caruccio@...>
Data: Sex, 4 de Jul de 2003 1:12 pm
Assunto: =?iso-8859-1?Q?Re: D=E1_pra_fazer_mais_simples_??=
mcaruccio
Enviar e-mail Enviar e-mail
 
opa,

tu pode juntar as expressoes e rodar somente um processo:


$ echo lista-1 bol com br | sed 's/ /@/;s/ /./g'


----- Original Message -----
From: "lista-1" <lista-1@...>
Date: Fri, 4 Jul 2003 09:33:37 -0300
To: <shell-script@...>
Subject: [shell-script] Dá_pra_fazer_mais_simples_?

>
>
>
> echo lista-1 bol com br | sed 's/ /@/' | sed 's/ /./g'
>
>
>
> paulo henrique
> -----------------------
>
>
>
> ---------------------------------------------------------------------
> 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: shell-script-unsubscribe@...
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
>
>



# ########################################################
# Mateus de Oliveira Caruccio <caruccio at operamail.com>
# Linux User #183552 - UIN #37364320
# Vim, vi e matei o Emacs !



--
____________________________________________
http://www.operamail.com
Get OperaMail Premium today - USD 29.99/year


Powered by Outblaze

#5096 De: "Luciano ES" <luc-groups@...>
Data: Sex, 4 de Jul de 2003 1:12 pm
Assunto: Re: ZSH
lucianolists
Enviar e-mail Enviar e-mail
 
Eu, que sempre fui do contra, aprendi ZSH antes do Bash, por motivos que
dariam uma longuíssima história. "Aprendi" é modo de dizer. A
documentação é quase tão grande quanto tudo que a minha mãe já
falou na minha orelha desde que eu nasci. Aprendi meia dúzia de coisas e
desanimei com a avalanche de informação. Bash não é só mais
fácil, é mais familiar. Tem exemplo, tutorial e gente que te ajude em
tudo que é canto. ZSH é uma coisa meio obscura. Algumas poucas
diferenças de sintaxe. Algumas coisas não funcionam, como funcoeszz.
Mas realmente me parece ser um Bash anabolizado. Ainda tenho ZSH no meu
Cygwin. Tenho meu diretório atual mostrado à direita da linha de
comando. Se a linha se estender e alcançar o diretório, ele desaparece.
Maneiro. Quem é craque em bash tem a ganhar com uma espiadela.

--
	 Luciano Espirito Santo
	 Santos - SP - Brasil

<-quote->**************************************************
Data: Thu, 3 Jul 2003 14:58:01 -0300
De: Listas XTMS <xxxxxx@xxxx.xxx.xx>
Assunto: ZSH

>Não sei se alguém acompanha o Linux in Brazil, mas surgiu lá uma
discussão sobre zsh.
>Ela descambou para um flame no final, mas um dos que arranjou a briga
(além de mim... :-\ ), me mandou um e-mail mto interessante sobre zsh.
>Como eu não conhecia e não sei se alguém aqui já usou, estou
mandando um forward. Achei algumas coisas interessantes...
>[snip]

********* END OF ORIGINAL MESSAGE *********</-quote->

#5097 De: "Daniel Imaz." <shrike_redh@...>
Data: Sex, 4 de Jul de 2003 1:31 pm
Assunto: Re: Dá_pra_fazer_mais_simples_?
shrike_redh
Enviar e-mail Enviar e-mail
 
Sim... colocando o "@" e os "." direto na frase :D

  --- lista-1 <lista-1@...> escreveu:
---------------------------------



echo lista-1 bol com br | sed 's/ /@/' | sed 's/ /./g'



paulo henrique
-----------------------


Yahoo! Groups SponsorPUBLICIDADE
var lrec_target="_blank";var lrec_URL = new
Array();lrec_URL[1] =
"http://br.rd.yahoo.com/M=218762.2810952.4170332.1588051/D=brclubs/S=2137111254:\
HM/A=1592310/R=0/id=flashurl/SIG=11lp0t5c1/*http://br.yahoo.com/publicidade/publ\
icidade_sm.html";var
link="javascript:LRECopenWindow(1)";var lrec_flashfile
=
'http://br.i1.yimg.com/br.yimg.com/i/br/ads2/retangulo_predio_lpatro.swf?clickTA\
G='+link+'';var
lrec_altURL =
"http://br.rd.yahoo.com/M=218762.2810952.4170332.1588051/D=brclubs/S=2137111254:\
HM/A=1592310/R=1/id=altimgurl/SIG=11lp0t5c1/*http://br.yahoo.com/publicidade/pub\
licidade_sm.html";var
lrec_altimg =
"http://br.i1.yimg.com/br.yimg.com/i/br/ads2/retangulo_predio_lpatro.gif";var
lrec_width = 300;var lrec_height = 250;

---------------------------------------------------------------------
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:
shell-script-unsubscribe@...
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------


Seu uso do Yahoo! Grupos é sujeito aos Termos do
Serviço Yahoo!.

_______________________________________________________________________
Yahoo! Mail
Mais espaço, mais segurança e gratuito: caixa postal de 6MB, antivírus, proteção
contra spam.
http://br.mail.yahoo.com/

#5098 De: Gustavo Adolfo Kellermann <gkeller@...>
Data: Sex, 4 de Jul de 2003 5:30 pm
Assunto: Re: ZSH
gustavokelle...
Enviar e-mail Enviar e-mail
 
On Thu, 03 Jul 2003 14:58:01 -0300
Listas XTMS <listas@...> wrote:
....
> * Importantíssimo recurso: o processo original fica no lado direito de
> um pipe e não no esquerdo, como no bash. Assim:
>
> echo a | read x; echo $x
>
> no bash retorna nada, no zsh retorna a. Se você já programou
> seriamente em shell sabe que este detalhe no bash torna inviável loops
> while por pipe no bash, pois ele não conseguirá mudar variáveis
> externas dentro deste loop. Ex.:

Eu jah quebrei muito a cabeca com esse problema no bash, pois fazia loops
bem complexos usando while read. Em alguns casos, jah estava ateh pensando
em jogar o script fora e refazer em awk ou perl, onde nao haveria esse
problema.

No final do tutorial do Julio Neves no FISL 2003, iniciei uma rapida
conversa sobre como contornar esse problema, e surgiram sugestoes como
usar um arquivo temporario e depois o comando "." para incluir o arquivo.
Ou usar echo dentro do loop e capturar a stdout do loop numa variavel.

Mas acho que nada se compara a poder setar as variaveis diretamente,
dentro do loop.

>
> x=1
> echo "a
> b
> c
> d
> e
> f" | while read var
> do
>   x="${x}${var}"
> done
> echo $x
>
> Tem muito mais coisa, mas acho que isso é suficiente pra uma
> explicaçãozinha *básica*. =)
>


--
**************************
Gustavo Adolfo Kellermann
gkeller@...
Terra Networks Brasil S.A.
**************************

#5099 De: Dorneles Treméa <dorneles@...>
Data: Sex, 4 de Jul de 2003 7:51 pm
Assunto: Multi rename
dtremea
Enviar e-mail Enviar e-mail
 
Oi pessoal,

agora a pouco um colega surgiu com a seguinte dúvida:

Como renomear diversos arquivos ao mesmo tempo, mudando
apenas um prefixo no nome dos arquivos?

Exemplo:

$ ls
ABC_123.a ABC_123.b ABC_123.c

Passar a ficar:

$ ls
XYZ_123.a XYZ_123.b XYZ_123.c

Bom, eu escrevi o seguinte código:

#!/bin/bash

if [ ! $3 ]; then
   echo "Sintaxe: `basename $0` retirar incluir arquivos"
   echo "onde:"
   echo "  retirar     String a retirar do começo do nome dos arquivos"
   echo "  incluir     String a incluir no começo do nome dos arquivos"
   echo "  arquivos    Arquivos a renomear"
   exit
fi

retirar=$1
incluir=$2
shift;shift
arquivos=$@

tamanho=${#retirar}

for arquivo in $arquivos; do
   sufixo=${arquivo:$tamanho}
   mv $arquivo $incluir$sufixo
done

x.x.x

No exemplo acima, bastaria chamar:

./rename.sh ABC XYZ *

Mas eu achei que o troço ficou meio tosco... :-(

Mestre Júlio, grande Aurélio e demais amigos, alguém
teria algum pitaco a acrescentar? ;-)

T+

--

Dorneles Treméa
Caxias do Sul - RS - Brasil
+55 54 9114 9312 - UIN: 2413568
X3ng Web Technology <http://www.x3ng.com.br>

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS/IT d- s:->: a23 C+++ UBL++++$ P--- L++ E-- W+++
N++ o? K? w+ O M+ V-- PS+ PE- Y-- PGP++ t+ 5 X++ R+
tv+ b(++) DI+ D++ G+>+++ e++>++++ h---- r+++ y+++**
------END GEEK CODE BLOCK------



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

#5100 De: Gustavo Jantsch <jantsch@...>
Data: Sex, 4 de Jul de 2003 8:00 pm
Assunto: Re: Multi rename
middlecreekbr
Enviar e-mail Enviar e-mail
 
usando o rename!!!  :)

$ rename expr1 expr2 lista_de_arquivos

no seu caso

$ rename ABC XYZ ABC*

bom fim de semana,
Gustavo.


On Fri, 04 Jul 2003 16:51:06 -0300
Dorneles Treméa <dorneles@...> wrote:

> Oi pessoal,
>
> agora a pouco um colega surgiu com a seguinte dúvida:
>
> Como renomear diversos arquivos ao mesmo tempo, mudando
> apenas um prefixo no nome dos arquivos?
>
> Exemplo:
>
> $ ls
> ABC_123.a ABC_123.b ABC_123.c
>
> Passar a ficar:
>
> $ ls
> XYZ_123.a XYZ_123.b XYZ_123.c
>
> Bom, eu escrevi o seguinte código:
>
> #!/bin/bash
>
> if [ ! $3 ]; then
>   echo "Sintaxe: `basename $0` retirar incluir arquivos"
>   echo "onde:"
>   echo "  retirar     String a retirar do começo do nome dos arquivos"
>   echo "  incluir     String a incluir no começo do nome dos arquivos"
>   echo "  arquivos    Arquivos a renomear"
>   exit
> fi
>
> retirar=$1
> incluir=$2
> shift;shift
> arquivos=$@
>
> tamanho=${#retirar}
>
> for arquivo in $arquivos; do
>   sufixo=${arquivo:$tamanho}
>   mv $arquivo $incluir$sufixo
> done
>
> x.x.x
>
> No exemplo acima, bastaria chamar:
>
> ./rename.sh ABC XYZ *
>
> Mas eu achei que o troço ficou meio tosco... :-(
>
> Mestre Júlio, grande Aurélio e demais amigos, alguém
> teria algum pitaco a acrescentar? ;-)
>
> T+
>
> --
>
> Dorneles Treméa
> Caxias do Sul - RS - Brasil
> +55 54 9114 9312 - UIN: 2413568
> X3ng Web Technology <http://www.x3ng.com.br>
>
> -----BEGIN GEEK CODE BLOCK-----
> Version: 3.12
> GCS/IT d- s:->: a23 C+++ UBL++++$ P--- L++ E-- W+++
> N++ o? K? w+ O M+ V-- PS+ PE- Y-- PGP++ t+ 5 X++ R+
> tv+ b(++) DI+ D++ G+>+++ e++>++++ h---- r+++ y+++**
> ------END GEEK CODE BLOCK------
>
>
>
> [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: shell-script-unsubscribe@...
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
>
>

#5101 De: Thobias Salazar Trevisan <thobias@...>
Data: Sex, 4 de Jul de 2003 7:57 pm
Assunto: Re: Multi rename
servagem
Enviar e-mail Enviar e-mail
 
ae dorneles,

On Fri, 4 Jul 2003, Dorneles Treméa wrote:

> Como renomear diversos arquivos ao mesmo tempo, mudando
> apenas um prefixo no nome dos arquivos?
>
> Exemplo:
> $ ls
> ABC_123.a ABC_123.b ABC_123.c
> Passar a ficar:
> $ ls
> XYZ_123.a XYZ_123.b XYZ_123.c

o rename tem o cmd de substituição embutidos nele. olhe:

prompt >touch ABC_123.a ABC_123.b ABC_123.c
prompt >ls
ABC_123.a  ABC_123.b  ABC_123.c
prompt >
prompt >rename 's/^ABC/XZY/'  ABC*
prompt >ls
XZY_123.a  XZY_123.b  XZY_123.c
prompt >


mmm, olhando o man:

rename [ -v ] perlexpr [ files ]

"The perlexpr argument is a Perl expression which is expected to
modify the $_ string in Perl for at least some of the filenames
specified."

falow

thobias
-------
echo 9446046325380026818553633794429812592304650P | dc
-------
http://www.lcp.coppe.ufrj.br/~thobias

____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------

#5102 De: Dorneles Treméa <dorneles@...>
Data: Sex, 4 de Jul de 2003 8:27 pm
Assunto: Re: Multi rename
dtremea
Enviar e-mail Enviar e-mail
 
Oi Gustavo,

> usando o rename!!!  :)

putz, como é que eu não vi isso antes! :-)

> $ rename expr1 expr2 lista_de_arquivos

De onde veio este seu rename aí? O que eu catei
por aqui é escrito em perl, e faz parte do pacote
homônimo, no Debian.

> no seu caso
>
> $ rename ABC XYZ ABC*

Hum, não funfou... tiver que executar:

$ rename 's/^ABC/XYZ/' ABC*

> bom fim de semana,

Idem!

T+

--

Dorneles Treméa
Caxias do Sul - RS - Brasil
+55 54 9114 9312 - UIN: 2413568
X3ng Web Technology <http://www.x3ng.com.br>

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS/IT d- s:->: a23 C+++ UBL++++$ P--- L++ E-- W+++
N++ o? K? w+ O M+ V-- PS+ PE- Y-- PGP++ t+ 5 X++ R+
tv+ b(++) DI+ D++ G+>+++ e++>++++ h---- r+++ y+++**
------END GEEK CODE BLOCK------



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

#5103 De: Aurelio Marinho Jargas <aureliojargas@...>
Data: Sex, 4 de Jul de 2003 8:34 pm
Assunto: Re: ZSH
aureliojargas
Enviar e-mail Enviar e-mail
 
aes,

  --- Gustavo Adolfo Kellermann <gkeller@...> escreveu:
> Listas XTMS <listas@...> wrote:
> > echo a | read x; echo $x
> > no bash retorna nada
> No final do tutorial do Julio Neves no FISL 2003, iniciei uma rapida
> conversa sobre como contornar esse problema, e surgiram sugestoes
> como usar um arquivo temporario e depois o comando "." para incluir
> o arquivo.
> Ou usar echo dentro do loop e capturar a stdout do loop numa
> variavel.

olha, eu acho a solução de usar arquivo temporário satisfatória.
veja o sed por exemplo, se você quer editar algum arquivo com ele,
você TEM que usar arquivo temporário porque ele não grava no
mesmo arquivo (tá, o GNU sed 4.x BLOATED faz isso, mas é exceção).

outra opção aceitável é fazer do while uma função que retorna
algo. assim fica uma implementação "bonita" para contornar uma
limitação/feature do bash.

sabe onde pode ser feature? no caso do IFS por exemplo:

  cat /etc/passwd | while read L; do
     export IFS=:
     set - $L
     echo $3
  done

ai você pode usar e abusar do IFS sem precisar guardar o
conteúdo original dele ;)


=====
--
Aurelio Marinho Jargas - Floripa
Procuro trabalho, mais info em http://aurelio.net
Fotos do IV FISL (Porto Alegre) http://aurelio.net/viagem/fisl-2003/
Desenvolvimento Livre http://aurelio.net/doc/changelog-nerd.html

_______________________________________________________________________
Yahoo! Mail
Mais espaço, mais segurança e gratuito: caixa postal de 6MB, antivírus, proteção
contra spam.
http://br.mail.yahoo.com/

#5104 De: Gustavo Jantsch <jantsch@...>
Data: Sex, 4 de Jul de 2003 9:01 pm
Assunto: Re: Multi rename
middlecreekbr
Enviar e-mail Enviar e-mail
 
Utilizo o rename que vem no Slackware pacote... não sei! :)
Mas é um executável, e não um script perl. Vai abaixo o teste
que fiz aqui e a man page dele pra dar uma pista pra vocês!
Falou
Gustavo.

gustavo@ws-d7-0019:~/tmp$ ls -al
total 20
drwxr-xr-x    2 gustavo  users        4096 Jul  4 17:59 ./
drwx--x--x   37 gustavo  users        4096 Jul  4 17:55 ../
-rw-r--r--    1 gustavo  users           1 Jul  4 17:59 ABC_1.a
-rw-r--r--    1 gustavo  users           1 Jul  4 17:59 ABC_2.a
-rw-r--r--    1 gustavo  users           1 Jul  4 17:59 ABC_3.a
gustavo@ws-d7-0019:~/tmp$ rename ABC XYZ ABC*
gustavo@ws-d7-0019:~/tmp$ ls -al
total 20
drwxr-xr-x    2 gustavo  users        4096 Jul  4 17:59 ./
drwx--x--x   37 gustavo  users        4096 Jul  4 17:55 ../
-rw-r--r--    1 gustavo  users           1 Jul  4 17:59 XYZ_1.a
-rw-r--r--    1 gustavo  users           1 Jul  4 17:59 XYZ_2.a
-rw-r--r--    1 gustavo  users           1 Jul  4 17:59 XYZ_3.a



NAME
        rename - Rename files

SYNOPSIS
        rename from to file...

DESCRIPTION
        rename  will  rename  the specified files by replacing the
        first occurrence of from in their name by to.

        For example, given the files foo1, ..., foo9, foo10,  ...,
        foo278, the commands

               rename foo foo0 foo?
               rename foo foo0 foo??

        will  turn  them  into  foo001,  ..., foo009, foo010, ...,
        foo278.

        And
               rename .htm .html *.htm
lines 1-25

#5105 De: Gustavo Jantsch <jantsch@...>
Data: Sex, 4 de Jul de 2003 9:06 pm
Assunto: Re: Multi rename
middlecreekbr
Enviar e-mail Enviar e-mail
 
completando a imformação, achei o pacote:
util-linux-2.11r-i386-2
no caso do slackware 9.

Bom findi pra todos que o meu começa agora!
Gustavo.

#5106 De: Aurelio Marinho Jargas <aureliojargas@...>
Data: Sáb, 5 de Jul de 2003 12:05 pm
Assunto: Re: Multi rename
aureliojargas
Enviar e-mail Enviar e-mail
 
oi dorneles,

sei que a discussão já acabou (cheguei atrasado), mas como você
pediu um pitaco, aqui vamos nós :)


> $ ls
> ABC_123.a ABC_123.b ABC_123.c
>
> Passar a ficar:
> $ ls
> XYZ_123.a XYZ_123.b XYZ_123.c
>
> Bom, eu escrevi o seguinte código:
>
> #!/bin/bash
>
> if [ ! $3 ]; then
>   echo "Sintaxe: `basename $0` retirar incluir arquivos"
>   echo "onde:"
>   echo "  retirar     String a retirar do começo do nome dos
> arquivos"
>   echo "  incluir     String a incluir no começo do nome dos
> arquivos"
>   echo "  arquivos    Arquivos a renomear"
>   exit
> fi
>
> retirar=$1
> incluir=$2
> shift;shift
> arquivos=$@
>
> tamanho=${#retirar}
>
> for arquivo in $arquivos; do
>   sufixo=${arquivo:$tamanho}
>   mv $arquivo $incluir$sufixo
> done

[...]

olha, a única coisa que eu faria diferente, era não usar
o esquema do ${var:N} que específico do bash2.

ao invés dele podia ser um sed, que dai podia trocar a
string em qualquer parte do nome do arquivo, e não só
no começo:

  for arquivo in $arquivos; do
    novonome=$( echo $arquivo | sed "s/$retirar/$incluir/" )
    mv $arquivo $novonome
  done

ou, se quiser amarrar ao bash2, usar o sed embutido na expansão
de variáveis: ${var/antigo/novo}

  for arquivo in $arquivos; do
    novonome=${arquivo/$retirar/$incluir}
    mv $arquivo $novonome
  done


> Mas eu achei que o troço ficou meio tosco... :-(
> Mestre Júlio, grande Aurélio e demais amigos, alguém
> teria algum pitaco a acrescentar? ;-)

acrescentar não, só pentelhar mesmo :)



=====
--
Aurelio Marinho Jargas - Floripa
Procuro trabalho, mais info em http://aurelio.net
Fotos do IV FISL (Porto Alegre) http://aurelio.net/viagem/fisl-2003/
Desenvolvimento Livre http://aurelio.net/doc/changelog-nerd.html

_______________________________________________________________________
Yahoo! Mail
Mais espaço, mais segurança e gratuito: caixa postal de 6MB, antivírus, proteção
contra spam.
http://br.mail.yahoo.com/

#5107 De: César A. K. Grossmann <cesarakg@...>
Data: Sáb, 5 de Jul de 2003 11:59 pm
Assunto: Re: verificar se o servidor esta no ar
cesarakg
Enviar e-mail Enviar e-mail
 
--- Em shell-script@..., Joao Paulo Muller da Silva
<jpsilva@a...> escreveu
>
> aee pessoal da lista, seguinte eu fiz esse script aqui bem simples para
> verificar se o servidor de mysql esta no ar, estou publicando ele
aqui na
> lista para possiveis sugestoes.

Paar verificar no mesmo servidor, você pode verificar de forma
diferente: veja se há um arquivo em /var/run referente ao MySQL --
usualmente um arquivo com o PID. Daí é só verificar se existe algum
processo rodando com aquele PID.

[]s
--
Cesar A. K. Grossmann - cesarakg@...
http://www.LinuxByGrossmann.cjb.net/

Spread the Word - http://www.brokensaints.com/

#5108 De: Ricardo DG <stratomen@...>
Data: Dom, 6 de Jul de 2003 8:01 pm
Assunto: Olá , novato ...
stratomen
Enviar e-mail Enviar e-mail
 
Olá a todos ,

Sou novo na lista , me cadastrei na quinta a tarde ., se não me engano ...
mas não deu tempo de me apresentar ... pois tive de fazer uma viajem urgente !

Meu nome é Ricardo ... tenho 18 anos e moro em Curitiba - PR !

Bom ... eu to desenvolvendo um script de instalação de NWN apartir da instalação
do windows .

quem quiser dar uma confirida ... www.nwnwlcsi.kit.net

atualmente ele esta na seua versão 1.0 ... funcionando diretinho ! hehe

Mas eu to reescrevendo ele ... pq to colocando aquele sistema de dialogs .

eu gostaria de saber se tem como eu fazer uma dialog com barra de progresso 
tanto para quando esta copiando arquivos quanto para quando esta fazendo o
download  ... alguem saberia como fazer um dos 2 ???


Abraços a todos
Ricardo DG



---------------------------------
Yahoo! Mail
Mais espaço, mais segurança e gratuito: caixa postal de 6MB, antivírus, proteção
contra spam.

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

#5109 De: rettore <rettore@...>
Data: Seg, 7 de Jul de 2003 3:18 pm
Assunto: Script com parametro
srettore
Enviar e-mail Enviar e-mail
 
Boa tarde,

preciso construir um script que funcione como um comando ping ex:

quando vc pinga um ip vc usa o comando ping + IP, o IP nunca é o mesmo,
preciso de um argumento no script que leia o que for associado...


desde ja obrigado


Rettore
--

#5110 De: rettore <rettore@...>
Data: Seg, 7 de Jul de 2003 1:38 pm
Assunto: Passagem
srettore
Enviar e-mail Enviar e-mail
 
Boa Tarde pessoal,

Caros amigos, preciso da ajuda de vcs pois desejo construir um script
que pegue o que vier em anexoe trate nele mesmo, ex:

meu script se chama "checa.sh"

gostaria de digitar #checa.sh 192.168.0.1

e ele pinga o ip que eu colocar junto, ele pinga o que tiver como
parametro..


Desde ja Obrigado e abraços a todos ,

Valeu

   Rettore

#5111 De: Frederico Argolo <fredargolo@...>
Data: Seg, 7 de Jul de 2003 6:41 pm
Assunto: Re: Script com parametro
fredargolo
Enviar e-mail Enviar e-mail
 
Use o $1
$1 indica o primeiro parametro
$2 segundo, e assim vai...

Entao, no caso do ping fica assim:

$cat script
#!/bin/bash
ping $1

$./script 200.200.200.200

[]'s
      Frederico Argolo



  --- rettore <rettore@...> escreveu:
> Boa tarde,
>
> preciso construir um script que funcione como um
> comando ping ex:
>
> quando vc pinga um ip vc usa o comando ping + IP, o
> IP nunca é o mesmo,
> preciso de um argumento no script que leia o que for
> associado...
>
>
> desde ja obrigado
>
>
> Rettore
> --
>
>
>
>
---------------------------------------------------------------------
> 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:
> shell-script-unsubscribe@...
>
---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listasdiscussao.cjb.net
>
---------------------------------------------------------------------
>
>
> Seu uso do Yahoo! Grupos é sujeito às regras
> descritas em: http://br.yahoo.com/info/utos.html
>
>

_______________________________________________________________________
Yahoo! Mail
Mais espaço, mais segurança e gratuito: caixa postal de 6MB, antivírus, proteção
contra spam.
http://br.mail.yahoo.com/

#5112 De: Mauricy Maiorino <mauricy@...>
Data: Seg, 7 de Jul de 2003 6:48 pm
Assunto: Contando em shell
mauricy@...
Enviar e-mail Enviar e-mail
 
Pessoal

Tenho um arquivo texto no seguinte formato (temp_hora.dat):

16:00
18:00
19:30
20:00
21:00
21:30
22:00
22:30
23:00

Estou executando da seguinte forma:

for i in `cat /home/mau/os/temp_hora.dat`
do

n=1
nn=$(($n+1))    <====== neste ponto até soma, mas ele não acrescenta 1 a
cada for para ir aumentando...
echo "$nn) $i"

Na verdade preciso de uma saída na seguinte forma, em tela para uma
futura montagem de um menu:

1) 16:00
2) 18:00
3) 19:30
4) 20:00
5) 21:00
6) 21:30
7) 22:00
8) 22:30
9) 23:00

Como posso fazer isto ???

#5113 De: Felipe Kellermann <stdfk@...>
Data: Seg, 7 de Jul de 2003 6:54 pm
Assunto: Re: Contando em shell
stdfk@...
Enviar e-mail Enviar e-mail
 
On Mon, 7 Jul 2003 3:48pm  -0300, Mauricy Maiorino wrote:

> n=1
> nn=$(($n+1))    <====== neste ponto até soma, mas ele não acrescenta 1 a
> cada for para ir aumentando...
> echo "$nn) $i"

	 n=1
	 nn vai ser sempre n+1, use n=$((n++)) e echo $n) $i,

--
Felipe Kellermann

mensagens 5084 - 5113 de 36015   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
mensagens 5084 - 5113 de 36015   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
Avançado

Copyright © 2010 Yahoo! do Brasil Internet Ltda. Todos os direitos reservados.
Política de Privacidade - Termos do Serviço - Diretrizes - Ajuda