[shell-script] Re: Usuário Iniciante

2007-03-31 Por tôpico mop
Supondo que os == não fazem parte da saida do grep, eu coloquei o
resto no arquivo f so para teste, fazendo o preenchimento das variáveis assim:

[EMAIL PROTECTED]/dir$ n=0;while read z;do n=$[$n+1];z=${z#* };eval VAR$n=${z%% 
*};\
done

[shell-script] Re: Usuário Iniciante

2007-03-31 Por tôpico mop
Complementando mensagem anterior, pois não vi o que você disse, mas a
falha foi minha. Marcando as opções para fonte de tamanho fixo e sem
quebra de linha, no site do grupo, cheguei ao link:
http://br.groups.yahoo.com/group/shell-script/message/22215?unwrap=1&var=0&l=1
Com isso vi exatamente seu código, sendo que no meu email multiplos
espaços sumiram.

Para você eliminar multiplos espaços pode usar o tr -s ' ' de uma das
seguintes formas:
seu_grep | tr -s ' ' # isso afetará seu arquivo, mas poderá usar o cut
como queria
< <(cat seu_arquivo|tr -s ' ')  # la naquele while que citei, ou onde quiser
z=`echo $z` # apenas acrescentando isto como 1.a linha dentro do while

Resumindo, acho que o que você precisava para seguir a sua linha
original é so o tal do tr -s ' '.

Caso seu arquivo seja só para obter as variáveis citadas, sugiro que
siga o exemplo do script para evitar tarefas desnecessárias de escrita
em disco.

Espero que a resposta agora seja útil.


Re: [shell-script] Saída diferente após redirecionamento

2007-04-02 Por tôpico mop
Provavelmente  ele envia conteúdo para as duas saídas. Experimente a
opção abaixo para verificar o que vai para cada uma:
dpkg -l >teste1 2>teste2



On 4/2/07, Thomaz de Oliveira dos Reis <[EMAIL PROTECTED]> wrote:
> Ainda não consegui resolver essa pessoal..ninguém tem uma idéia?


Re: [shell-script] Editar HTML com SED

2007-04-03 Por tôpico mop
Não sei se captei seu objetivo. Não vou falar em sed, matrizes ou tags
específicas. Tendo agora algo mais direto, te passo essa linha de
comando. Ela e sua saida poderão te dar alguma idéia para uma "nova
abordagem".

wget 2>/dev/null -O -
http://g1.globo.com/Noticias/Tecnologia/0,,6174,00.html|tr '\t' ' '|tr
-d '\n'| tr -s ' '|tr '<' '\n'|grep -A 1 '^a
href="javascript:abrirMateria'

Não acredito em soluções milagrosas definitivas. Basta a fonte alterar
estruturalmente sua página e você terá de rever seu código de
filtragem, e cada fonte é um caso, não existe mágica.

Desculpe, se o colocado nada tiver a ver com sua questão.




On 4/3/07, Alain M. <[EMAIL PROTECTED]> wrote:
> Vou tentar uma nova abordagem para o meu problema: Eu preciso fazer um
> arquivo de configuração com estas informações (por exemplo)
>
> # páginas a carregar
>http://g1.globo.com/Noticias/Ciencia/0,,5603,00.html
>http://g1.globo.com/Noticias/Cinema/0,,7086,00.html
>http://g1.globo.com/Noticias/Tecnologia/0,,6174,00.html
> # tags a remover com 3 campos: tag, chave de reentrancia e final
>''  ''
>'' ''
>']*id="impressaoBottom">' ''
>''  ''  ''
> # algumas variáveis diversas
>DIAS=7
>
> A idéia inicial era definir umas variáveis em um arquivo de include.
> Alguém pode me dar uma idéia de como fazer sem ficar muito confuso? Não
> gostaria de ter que criar um script de parsing complexo para isso.


Re: [shell-script] Editar HTML com SED

2007-04-03 Por tôpico mop

Considerando que minha bola não foi muito fora, me atrevo a dizer que
talvez haja um lugar melhor para você pegar a informação desejada.

Normalmente páginas de notícias têm links para news feeder correspondente, 
identificados como rss, xml, etc. Embora haja algumas diferenças sutis entre 
formatos, um único script poderá tratar todos. Bastará você passar um 
único parâmetro, o endereço do feeder. Além disso, por ser algo padronizado,
não depende da fonte.

Veja no topo da página que usei como exemplo o link RSS. O canal de news
correspondente é:
http://g1.globo.com/Rss2/0,,AS0-6174,00.xml
Veja o código dela, será uma barbada.

Se eu entendi bem, você quer ir um nível além dessa página, possivelmente
o que você quer a a própria página da notícia. Você consegue isso
brincando, usando esses canais específicos e um script bem simples. A ordem
é cronológica reversa, quer dizer, você vai baixando até encontrar o 
primeiro link já baixado anteriormente, podendo abortar imediatamente o 
processo.

Se não existir um canal rss com o que quer, realmente vai ter de garimpar na 
página.

Boa diversão para shell e conectividade.
Sucesso!


--
>From: "Alain M." <[EMAIL PROTECTED]>

>O objetivo era perto disso, tanto que tua dica vai me ajudar. Eu quero
>pegar outra parte da tela e as telas seguintes... Já tenho algo
>funcionando, vou enviar em seguida, para quem interessar



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Sa�da diferente ap�s redirecionamento

2007-04-03 Por tôpico mop

Vão aí mais algumas idéias.

dpkg -l|md5sum;dpkg -l >/tmp/dpkg.l;md5sum /tmp/dpkg.l

dpkg -l|xxd|tail; xxd /tmp/dpkg.l|tail

dpkg -l|while read;do echo "$REPLY";done

while read;do echo "$REPLY";donehttp://www.listas-discussao.cjb.net
-
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Crontab & "dumb" Terminal

2007-04-03 Por tôpico mop
Vai uma sugestão, mas não incluí usuário. Claro que quem chama o
teminal é um usuário determinado. Em caso de duvida faça um log com
whoami. Pelo que entendi a execução é em um xterm.

Se aparecer quebrado, abaixo é apenas uma linha:

xterm -e ". /etc/profile;TERM=linux;cd /home/sistema;./exporweb.e;read
-p Resultado?"



On 4/3/07, Flavio Junior <[EMAIL PROTECTED]> wrote:
> Boa noite pessoal,
>
> Uma duvida mais conceitual do que tecnica...
>
> Tenho um programa feito por um cliente em Clipper e compilado com
> FlagShip, ele roda uma rotina numa base de dados DBase e gera arquivos
> .sql para importação no mysql.
>
> Primeiro problema:
> aguia:/home/sistema# ./exporweb.e
> request to switch into FULLSCREEN mode failed: too dumb terminal
> 'xterm' (no cursor move capabilitie)
>
> Solução: TERM=linux
> Beleza, funciona normalzinho se executado na mão.
>
> Agora via crontab, não consigo burlar isso:
> request to switch into FULLSCREEN mode failed: can run only on terminal
>
> Essa acima é a mensagem que aparece no log do programa, qdo rodo pelo
> crontab.
>
> Coisas que já tentei:
> - Screen
> - expect com spawn
> - expect com system
> - criar um script.sh e setar as variaveis como: . /etc/profile;
> TERM=linux; e chamar o script
> - Chamar no crontab: (cd /home/sistema; TERM=linux ./programa)
> - Criar um arquivo .sh com export TERM=linux; ./programa


Re: [shell-script] script adsl

2007-04-07 Por tôpico mop

Experimente a função "tecla" disponível em:
http://planeta.dyndns.org/scripts/funcs

Ela tem por finalidade dar saída apenas para as teclas
alfanuméricas especificadas, ignorando as demais.

Suponha que apenas as teclas A, T e 5 devem ser aceitas.
Considere que quer a saída exclusivamente em lower para
facilitar codificação de ifs e cases. Chame assim:

tecla at5 l

Não trata pressionamento simultâneo de teclas.




--
>From: Jorge Barros de Abreu <[EMAIL PROTECTED]>
>
>Olá.
>
>Sou dos que preferem se conectar à internet somente quando necessário e para 
>isso criei um script que está anexado a essa mensagem.
>
>O problema está na hora de solicitar a desconecção.
>
>Já tentei fazer a desconecção pressionando qualquer tecla mas não fiquei 
>satisfeito pois as teclas alfanuméricas são tratadas pelo bash de forma 
>diferente das tecla "home" e "end"por exemplo.
>
>Da forma como está anexado a essa mensgem ele está plenamente funcional desde 
>que eu pressione apenas teclas alfanuméricas.
>
>O script presume a utilização do pppoe-start/stop.
>
>???Como o modifico para que ele seja encerrado com o pressionamento da 
>letra "a" somente?



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: Re: [shell-script] Qual o FOR mais rápido

2007-04-14 Por tôpico mop
O melhor é você ver as operações realizadas fazendo um
set -x 
antes do loop.
Isso não mostrará o tempo para execução de cada uma mas dará um visão
do que ocorre.
Também considero interessante para a comparação temporal reduzir as 
operações no loop, por exemplo:

for i in $(seq 9)
do
: 
done

Indo apenas até 9 é suficiente para apreciação do set -x.
Para a medição do efeito penso que um loop que ultrapasse o minuto seria
mais conveniente para estabelecer proporções reduzindo influênica de tempos de 
carga de programas envolvidos, claro que sem o -x então. Normalmente os
programas externos são mais eficientes no que fazem, pois geralmente são
especializados. A vantagem dependerá da quantidade de trabalho que 
realizará, do tempo para ser posto em funcionamento e dos recursos que
absorverá em relação ao disponível.



--
>From: "Christian Lyra" <[EMAIL PROTECTED]>
>Date: Sat, 14 Apr 2007 08:25:20 -0300
>
>Acredito que a razão seja outra. O seq é executado de uma vez e gera toda a
>seguencia de numeros, assim  o "for" só precisa percorrer ela. No segundo
>caso, para cada iteração é necessário executar uma operação matemática e uma
>comparação.
>
>On 4/14/07, Thiago Argolo <[EMAIL PROTECTED]> wrote:
>>
>>   No primeiro, assim como no segundo script, há um incremento, no primeiro
>> caso declarado explicitamente enquanto no segundo atraves do seq. Porem,
>> no
>> primeiro para cada repetição do laço ele faz uma comparação (se i <=
>> 9)
>> o que diminui a eficiencia do codigo.
>> Acho que é isso, corrijam-me se estiver errado!
>>
>> Em 13/04/07, Amador Pahim <[EMAIL PROTECTED]>
>> escreveu:
>>
>> >
>> > Estava eu aqui fazendo meus .sh, e me deparei com uma dúvida: Qual é a
>> > forma mais rápida de execução do comando FOR. Cheguei a tais resultados:
>> >
>> > Script teste01.sh:
>> > 
>> > for ((i=1; i<=9; i++))
>> > do
>> > if [ $i == 9 ]
>> > then
>> > echo Executando ultimo laço
>> > fi
>> > done
>> > 
>> >
>> > [EMAIL PROTECTED]:~# time ./teste01.sh
>> > Executando ultimo laço
>> >
>> > real 0m4.037s
>> > user 0m3.604s
>> > sys 0m0.172s
>> >
>> > Script teste02.sh:
>> > 
>> > for i in $(seq 9)
>> > do
>> > if [ $i == 9 ]
>> > then
>> > echo Executando ultimo laço
>> > fi
>> > done
>> > 
>> >
>> > [EMAIL PROTECTED]:~# time ./teste02.sh
>> > Executando ultimo laço
>> >
>> > real 0m2.701s
>> > user 0m2.432s
>> > sys 0m0.176s
>> >
>> > Esses resultados me deixaram um pouco confuso, pois imaginei que meu
>> > script 01, por utilizar um incremento nativo do FOR fosse ser mais
>> > rápido do que o script 02, que usa uma chamada a um comando externo.
>> > Alguem poderia me ajudar a interpretar melhor esses resultados?



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] --post-data no wget

2007-04-16 Por tôpico mop
Para ir direto ao ponto sugiro que colete as streams na interface de
comunicação com o ngrep.

Caso o volume de dados seja muito grande, talvez prefira separar bursts,
input e output, ou se precisar coletar todo o espectro binário, nesse caso
recomendo o tcpflow. Não parece ser o caso.

Com essa coleta você terá certeza do que, de onde e para onde, está sendo
enviado e recebido. De posse disso ficará fácil reproduzir a ação do 
cliente default, sendo que provavelmente um simples bash poderá fazer todo
o serviço, principalmente se não surgir um https no caminho.


--
>From: "Thiago Argolo" <[EMAIL PROTECTED]>
>Date: Mon, 16 Apr 2007 01:33:27 -0300
>
>Tentei pegar a tabela e nada!
>quando faco o login (via browser) ele me redireciona pro seguinte link:
>http://dgp.cnpq.br/diretorioc/fontes/index.jsp
>porem, quando executo o comando q falei, ele me retorna a mesma pagina de
>login. Achei q o erro poderia estar em alguns dos dados enviados pelo
>post...




-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Exibição variaveis

2007-04-20 Por tôpico mop
Apenas uma opinião:

Claro que usar programas externos resolve, mas me parece um exagero
a carga de um para retirar 1 byte de uma string de cerca de 16 bytes.

A linha no "unix" termina com x0A, assim como no "dos" e seus sucessores.
O detalhe é que a ms usa um "carriage return" (x0D) antes de cada
"new line" e esse byte sobra então no fim da linha em leitores tipo unix. 
Preparei o bloquinho abaixo, já com new lines ignoradas, para colar direto
na console de uma vez e ver o resultado com uma tecla. Se não selecionar
nenhuma linha além do echo, o Enter fica por sua conta. :)

z=$'ABC\rD\15E\x0dF';\
cat -v<<<$z;\
cat -v<<<${z%?};\
cat -v<<<${z/$'\r'};\
cat -v<<<${z//$'\r'};\
echo $z

Tudo funcionou como esperava no:
$ bash -version
GNU bash, version 3.2.0(1)-release (i686-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.

Se a string já está numa variável e, supondo que se chame z, o último byte
pode ser retirado pelo próprio shell simplesmente com
${z%?}

Espero que seja de alguma utilidade.
Questões?
man bash


--
>From: Fernando Garcia <[EMAIL PROTECTED]>
>Date: Fri, 20 Apr 2007 18:01:37 -0300
>
>Olha o que aparecia:
>
>n: Fa0/47;2;2;1;Shutdown^M$ (Lembra microsoft, acho q por isso nao 
>funcionava :-D
>
>Removi com um sed e ta funcionando agora.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Exibição variaveis

2007-04-21 Por tôpico mop
Opa Julio:

Diante do tamanho da string, ainda assim, eu não exitaria em guardar
a saída de stdout em uma nova variável economizando os tubos, digo,
um pipe, mais ainda considerando ser o sed o destinatário.

Aproveitando, depois que enviei a mensagem me toquei que cometi um
erro. Ele não apareceu no bloco porque setei variável, mas de outra
forma poderia ter ficado claro. Octais são representados no shell
prefixados por \0 e hexadecimais por \x, ou seja, onde escrevi \15
deveria ter escrito \015. Eis como faz diferença:

prompt> z=$'\15\015';echo -ne "$z\15\015"|xxd
000: 0d0d 5c31 350d   ..\15.

Prefiro sempre visualizar em hexa, por isso uso muito o xxd (vim).
Estou meio enferrujado no uso da base binária. :)

Quanto ao conteúdo do post, fique à vontade para usá-lo em qualquer
lugar, sendo de minha parte dispensada qualquer citação de origem.

Já vi o que falei, e muito mais, neste link:
http://planeta.dyndns.org/unix/exemplos.txt

Prefiro sempre que possível apenas citar links ao invés de teclar.
No histórico da lista vi como questões se repetem indefinidamente.
Bom seria uma consolidação em faq ou wiki, algo mais ágil na
consulta, mas é difícil manter.

[]s

--
>From: "Julio C. Neves" <[EMAIL PROTECTED]>
>Date: Sat, 21 Apr 2007 10:48:48 -0300
>
>Fala Mop,
>concordo totalmente com vc na afirmativa que "me parece um exagero a carga
>de um programa externo para retirar 1 byte de uma string de cerca de 16
>bytes", mas infelizmente a técnica de expansão de parâmetros aplica-se
>somente a variáveis e, se não me engano, o problema apresentado era em um
>arquivo que não estava sendo trabalhado em loop.
>
>Mas a dica é muito boa e acho que vc deveria mandá-la para o Cantinho do
>Shell das Dicas-l.
>
>Abração,
>Julio
>:wq
>
>Em 20/04/07, mop <[EMAIL PROTECTED]> escreveu:
>>
>> Apenas uma opinião:
>>
>> Claro que usar programas externos resolve, mas me parece um exagero
>> a carga de um para retirar 1 byte de uma string de cerca de 16 bytes.
>>
>> A linha no "unix" termina com x0A, assim como no "dos" e seus sucessores.
>> O detalhe é que a ms usa um "carriage return" (x0D) antes de cada
>> "new line" e esse byte sobra então no fim da linha em leitores tipo unix.
>> Preparei o bloquinho abaixo, já com new lines ignoradas, para colar direto
>> na console de uma vez e ver o resultado com uma tecla. Se não selecionar
>> nenhuma linha além do echo, o Enter fica por sua conta. :)
>>
>> z=$'ABC\rD\15E\x0dF';\
>> cat -v<<<$z;\
>> cat -v<<<${z%?};\
>> cat -v<<<${z/$'\r'};\
>> cat -v<<<${z//$'\r'};\
>> echo $z
>>
>> Tudo funcionou como esperava no:
>> $ bash -version
>> GNU bash, version 3.2.0(1)-release (i686-pc-linux-gnu)
>> Copyright (C) 2005 Free Software Foundation, Inc.
>>
>> Se a string já está numa variável e, supondo que se chame z, o último byte
>> pode ser retirado pelo próprio shell simplesmente com
>> ${z%?}
>>
>> Espero que seja de alguma utilidade.
>> Questões?
>> man bash
>>
>>
>> --
>> >From: Fernando Garcia <[EMAIL PROTECTED]>
>> >Date: Fri, 20 Apr 2007 18:01:37 -0300
>> >
>> >Olha o que aparecia:
>> >
>> >n: Fa0/47;2;2;1;Shutdown^M$ (Lembra microsoft, acho q por isso nao
>> >funcionava :-D
>> >
>> >Removi com um sed e ta funcionando agora.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] ajuda com dir

2007-04-22 Por tôpico mop
Como você pode ter feito algo diferente do que pensa ter feito, eu
iniciaria com o histórico dos comandos digitados, cursor para cima,
supondo que isso foi feito no prompt do shell.

find / -name eduardo
seria meu passo seguinte, ja que o htdocs foi achado e supondo que o
seu mv não enviou para um destino externo.

Se com isso, mais o que o Bruno sugeriu, não aprecer nada, eu partiria
para a busca direta dentro de arquivos de alguma string que fosse rara
e tivesse certeza que está contida em um dos arquivos do diretório. É,
algo como:
grep -R "só tem aqui esse tróço" /
Isso levará um tempão. É melhor maneira de se vingar no subalterno
quando o chefe faz uma ..., azar da máquina nesse caso.

Existe a hipótese de ter ocorrido uma deleção, mas depois de tudo isso
os setores de disco liberados com o conteúdo alvo já devem ter sido
sobrescritos. Adios! Bem, é nessa hora, ou poderia ser antes, 
dependendo da intuição, que entra em cena o Magnífico Mr. Back-Up.

Caso já tenha achado avise para ninguém mais esquentar a cabeça.
Se souber o que aconteceu conte também, será um instrutivo alerta.

Sorte!

--
>From: "Bruno Gunter Fricke" <[EMAIL PROTECTED]>
>Date: Sun, 22 Apr 2007 16:17:41 -0300
>
>antes dê tudo, dê um $ updatedb
>Depois, $ locate www/htdocs/eduardo
>
>se não aparecer, vá para o "/" e execute 
>$ find . | grep -ril "www/htdocs/eduardo" *
>
>[]'s
>
>
>- Original Message - 
>From: Eduardo daSilva Ramos 
>To: shell-script@yahoogrupos.com.br 
>Sent: Sunday, April 22, 2007 1:58 PM
>Subject: [shell-script] ajuda com dir
>
>
>amigos seguinte nao sei por que eu estava mexendo num dir meu, ex.
>cd /www/htdocs/eduardo
>mkdir teste
>eu movi o teste para umdir abaixo
>mv teste/ ../
>e ele simplesmente nao esta em www/htdocs/ caraca era importante tinha 
>coisas dentro como fazer ? nao consigo mais ver o diretorio.
>obrigado!
>
>
>
>
>
>[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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] ajuda com dir

2007-04-22 Por tôpico mop
Vendo a sua mensagem com mais atenção vi só mv.
Se não for um alias pode ter acontecido algo muito diferente do que
pensei na resposta anterior. Ela foi dada pensando em um "mv -i".
Eu nunca, JAMAIS, EM HIPÓTESE ALGUMA, uso "mv" apenas, só em scripts,
depois de ter certeza do que estão realmente fazendo. Também não
uso alias mv="mv -i" pois, se um dia for em outra máquina, ou na de
outra pessoa, e emitir um mv mal acostumado posso causar sério dano.
Fica aqui o registro desta minha filosofia.

Da mensagem anterior o find e o grep perderam muita força, mas ainda
têm alguma chance. O santo backup não foi afetado! :)

--
>From: "Eduardo daSilva Ramos" <[EMAIL PROTECTED]>
>Date: Sun, 22 Apr 2007 16:58:51 -
>
>amigos seguinte nao sei por que eu estava mexendo num dir meu, ex.
>cd /www/htdocs/eduardo
>mkdir teste
>eu movi o teste para umdir abaixo
>mv teste/ ../
>e ele simplesmente nao esta em www/htdocs/ caraca era importante tinha 
>coisas dentro como fazer ? nao consigo mais ver o diretorio.
>obrigado!




-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] ajuda com dir

2007-04-23 Por tôpico mop
Acho o cp menos perigoso que o mv, mas também sempre o uso com i
após o - .
O rm e rm -r uso sem interação (iI). Embora procure tomar cuidado
já tive de pedir encarecidamente ao Dr. Backup que me devolvesse meu(s)
arquivo(s) ou diretório. Infelizmente algumas vezes ele não sabia das
últimas novidades. Outras tive de partir correndo para um undelete.

É esse histórico de comandos shell é uma mão na roda, mas com a pressa
parece que a mão é mais rápida que a vista e ... lá se foi um Enter,
prematura ou indevidamente. Um toque despercebido na barra de espaço
durante a edição pode ter um resultado incrivelmente trágico.

O hardware evoluiu muito. Os crackers afetam pouco a nossa turma.
Resumindo, hoje digo que a principal função do backup não é nos 
proteger das máquinas, ou do malware mas sim de nós mesmos. :)

Desculpem se fui meio off mas achei que cabia na thread.

--
>From: "Bruno Gunter Fricke" <[EMAIL PROTECTED]>
>Date: Sun, 22 Apr 2007 23:00:25 -0300
>
>Mop,
>Eu apenas uso o mv depois de um cp. Justamente para evitar estes 
>problemas...
>Ahhh, bacana seu e-mail... hahahaha
>
>
>Eduardo, faz o seguinte... Segue o conselho do Mop, dá uma olhada no com um 
>$ cat /home/usuario/.bash_history | grep "teste/"
>
>Se você não achar... Dá um ls -la no www/htdocs... Será que existe um 
>diretório sem nome lá? Olha o teste que eu fiz:
>
>[EMAIL PROTECTED] ~]$ mkdir a
>[EMAIL PROTECTED] ~]$ cd a
>[EMAIL PROTECTED] a]$ mkdir b
>[EMAIL PROTECTED] a]$ ls
>b
>[EMAIL PROTECTED] a]$ mv b ../
>[EMAIL PROTECTED] a]$ ls
>[EMAIL PROTECTED] a]$ cd ..
>[EMAIL PROTECTED] ~]$ ls b
>[EMAIL PROTECTED] ~]$ ls -la
>[EMAIL PROTECTED] ~]$ ls -l b 
>b/   bin/
>
>Experimenta aí.
>
>[]'s
>Bruno Gunter
>
>
>- Original Message - 
>From: "mop" <[EMAIL PROTECTED]>
>Sent: Sunday, April 22, 2007 10:11 PM
>
>
>> Vendo a sua mensagem com mais atenção vi só mv.
>> Se não for um alias pode ter acontecido algo muito diferente do que
>> pensei na resposta anterior. Ela foi dada pensando em um "mv -i".
>> Eu nunca, JAMAIS, EM HIPÓTESE ALGUMA, uso "mv" apenas, só em scripts,
>> depois de ter certeza do que estão realmente fazendo. Também não
>> uso alias mv="mv -i" pois, se um dia for em outra máquina, ou na de
>> outra pessoa, e emitir um mv mal acostumado posso causar sério dano.
>> Fica aqui o registro desta minha filosofia.
>>
>> Da mensagem anterior o find e o grep perderam muita força, mas ainda
>> têm alguma chance. O santo backup não foi afetado! :)
>>
>> --
>>>From: "Eduardo daSilva Ramos" <[EMAIL PROTECTED]>
>>>Date: Sun, 22 Apr 2007 16:58:51 -
>>>
>>>amigos seguinte nao sei por que eu estava mexendo num dir meu, ex.
>>>cd /www/htdocs/eduardo
>>>mkdir teste
>>>eu movi o teste para umdir abaixo
>>>mv teste/ ../
>>>e ele simplesmente nao esta em www/htdocs/ caraca era importante tinha
>>>coisas dentro como fazer ? nao consigo mais ver o diretorio.
>>>obrigado!



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Coletar dados de arquivo

2007-04-23 Por tôpico mop
Imagino que isso seja só o header.
Provavelmente tem carriage returns e a existencia 
somente de um deles na liga separa o header do corpo.
Se for isso eu faria algo assim, falando de 1 arquivo
apenas. Como já há espaços sugiro o tab como separador,
já que com "um ao lado do outro" entendi sem new lines.

while read &&[ "$REPLY" != $'\r' ];do
 REPLY=${REPLY#* }
 echo -ne "${REPLY%?}\t"
doneFrom: "Alexandre Andrade" <[EMAIL PROTECTED]>
>Date: Mon, 23 Apr 2007 14:14:40 -0300
>
>Hello lista,
>
>Tenho vários arquivos com a seguinte saída.
>
>MIME-Version: 1.0
>Date: Fri, 25 Aug 2006 17:03:57 -0300
>From: Alexandre Andrade <[EMAIL PROTECTED]>
>Organization: OTV
>Message-ID: <[EMAIL PROTECTED]>
>User-Agent: RoundCube Webmail/0.1b
>Content-Type: text/plain; charset="UTF-8"
>
>Gostaria de fazer um Loop que pra cada arquivo que ele olhe ele gere a
>saída dos campos acima uma do lado da outra, pra assim eu poder enviar
>pro Mysql.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Find para mostrar o ultimo arquivo criado

2007-04-24 Por tôpico mop
Eu não.

Com relação ao problema, no entanto, eu usaria o ls para isso com:
cp `ls -lt arquivo1*|head -n 1` /home/teste

--
>From: "Rodrigo Santos Vieira" <[EMAIL PROTECTED]>
>Date: Tue, 24 Apr 2007 06:15:54 -0300
>
>Bom dia pessoal.
>
>Fiz um shell para copiar o ultimo arquivo criado para um diretório, utilizei:
>
>find arquivo1* -mtime -1 -exec cp {} /home/teste \; 
>
>utilizo o asterístico ( * ) no final do arquivo1 porque quando ele é criado o 
>final dele é uma seguencia numérica aleatória.
>Mas esse find na verdade pegar todos os ultimos arquivos criado da ultimas 
>24hs com o nome aquivo1.
>Portanto de tiver mais de um arquivo1 criado nas ultimas 24hs o find tambem 
>vai pegar.
>
>Alguem saberia me informar um comando do find para que o shell só copie o 
>ultimo arquivo criado?
>
>Obrigado
>Rodrigo



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Find para mostrar o ultimo arquivo criado

2007-04-24 Por tôpico mop

---
Peço desculpas pelo reenvio, o certo é:
ls -1t

---
Eu não.

Com relação ao problema, no entanto, eu usaria o ls para isso com:
cp `ls -lt arquivo1*|head -n 1` /home/teste


--
>From: "Rodrigo Santos Vieira" <[EMAIL PROTECTED]>
>Date: Tue, 24 Apr 2007 06:15:54 -0300
>
>Bom dia pessoal.
>
>Fiz um shell para copiar o ultimo arquivo criado para um diretório, utilizei:
>
>find arquivo1* -mtime -1 -exec cp {} /home/teste \; 
>
>utilizo o asterístico ( * ) no final do arquivo1 porque quando ele é criado o 
>final dele é uma seguencia numérica aleatória.
>Mas esse find na verdade pegar todos os ultimos arquivos criado da ultimas 
>24hs com o nome aquivo1.
>Portanto de tiver mais de um arquivo1 criado nas ultimas 24hs o find tambem 
>vai pegar.
>
>Alguem saberia me informar um comando do find para que o shell só copie o 
>ultimo arquivo criado?
>
>Obrigado
>Rodrigo



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Separar linhas do arquivo

2007-04-24 Por tôpico mop
tail -f arquivo|while read;do
 case ${REPLY%%=*} in INTERFACE|WINDOWS|EMAIL|DATE)echo "$REPLY";esac
done

--
>From: Edilson Azevedo <[EMAIL PROTECTED]>
>Date: Tue, 24 Apr 2007 17:16:32 -0300
>
>-BEGIN PGP SIGNED MESSAGE-
>Hash: SHA1
>
>Olá pessoal!
>
>Eu tenho um arquivo com a seguinte estrutura:
>
>INTERFACE="eth0"
>VPN_FILE="/diretorio/openvpn.cfg"
>WINDOWS="2003_SERVER"
>EMAIL=""
>DATE="01/10/2004"
>CISCO="CAPAN_13"
>
>Eu gostaria que ele me mostrasse apenas essas linhas:
>
>INTERFACE="eth0"
>WINDOWS="2003_SERVER"
>EMAIL=""
>DATE="01/10/2004"
>
>Mais isso de uma forma dinâmica entenderam? Como se fosse um tail -f no
>arquivo e um grep que me retornasse apenas os dados que eu preciso, mais
>sempre na ordem certa. Nada de pegar data de um com EMAIL de outro. A
>saída tem que obedecer a ordem dos blocos.
>
>
>-BEGIN PGP SIGNATURE-
>Version: GnuPG v1.4.3 (GNU/Linux)
>Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
>iD8DBQFGLmWgYeJNlRYHC5oRAjKrAKCUgYBjufVZ8HuYV9lb6oQ1awLW6wCfVgGe
>BgrGX0Chd/Y6qIckBx+7bP8=WUj4
>-END PGP SIGNATURE-
>



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] site login

2007-04-25 Por tôpico mop
Considerando que você falou lynx, não deve ser https.

Sendo assim, o ngrep que sempre recomendo para casos simples
deve resolver. Hoje vou além, colocarei o conteúdo do meu
script que se chama ngrep justamente para eu guardar apenas um
nome. Costumo fazer isso ao ler o man, filtrar minhas necessidades,
e poder esquecer os detalhes do ELF. Se não tiver o binário ngrep
consulte seu fornecedor de software ;) , ou use outro sniffer de sua
preferência.

Normalmente deve ser executado como root pois geralmente só ele tem
total acesso à interface de rede.

Acerte para a sua porta de rede e seja feliz!


#-W normal|byline|none

# -d dev  By default ngrep will select a default interface to listen on.
# Use this option to force ngrep to listen on interface dev.
# -d eth0

# -x  Dump  packet  contents  as  hexadecimal  as well as ASCII.

# -l  Make stdout line buffered.

PAR='-W byline'
#PAR='-W normal'
[ "$1" ]&&{ [ "$1" == "-x" ]&&PAR=$1||{ echo "uso: $0 [-x]";exit 1;};}
/usr/bin/ngrep $PAR -l -p -P ^
-

Geralmente o volume de dados é alto e costuma na maioria dos casos
encher muitas telas e nem com Shift PgUp você consegue buscar o início da
conversa originada pelo seu browser. Melhor nesses casos enviá-lo para
arquivo com
script >/tmp/coleta

Depois com um editor você marca o que precisa cola no seu script, acerta
algum deta-lhe e pronto. Como o Tiago já disse, user e password, podem
estar codificados de alguma forma, mas neste momento isso não importa
pois você já terá o que precisa pronto e codificado para enviar. Como
usar isso com programas, não sei, normalmente uso apenas o shell para
isso, mas é simples, você já sabe o que deve enviar, é só brincar com
o seu programa para que faça exatamente a mesma coisa e que você pode
checar com o ngrep sempre que desejar. :)

Sorte!


--
>From: "Josenivaldo Benito Junior" <[EMAIL PROTECTED]>
>Date: Wed, 25 Apr 2007 18:31:13 -0300
>
>Olá pessoal,
>
>Eu tenho um script onde uso o lynx para acessar um site. O site pede login e
>senha através do brownser (deve usar o .htaccess certo?). Neste caso nenhum
>problema. O fato é que um outro site, uma espécie de bugzilla que usamos
>aqui na empresa, requisita login quando é acessado pela primeira vez. Mas,
>este login é solicitado através de uma página, e nào usando os diálogos do
>browser. Neste caso a opção -auth do lynx não tem efeito.
>
>Alguém tem alguma idéia de como logar no site e então fazer o dump do
>resultado?
>
>Muito obrigado.
>
>Abraço
>Benito.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Loop infinito "invisível"!

2007-04-25 Por tôpico mop
Talvez já tenha feito isso, caso não, experimente pois pode te dar
alguma pista.
Insira um
set -x
em algum ponto do script para o shell escrever em stderr cada passo que
fará.
Se o volume de informações ficar muito alto na tela pode ser melhor enviar
para arquivo com um
exec 2> /tmp/teste

Pode acompanhar on the fly com 
tail -f /tmp/teste
em outro terminal ou examinar posteriormente, ou na hora, o arquivo com um
editor. No segundo caso não esqueça que ele já pode ter aumentado desde
que o carregou para o exame atual.

Também parece interessante que o script reporte quando inicia e quando
termina, com um echo "alguma coisa" >&2. Isso pode ajudar a determinar
se há realmente um loop e se ele é interno ou não.

Boa caça!

--
>From: "Diego Pasqualin" <[EMAIL PROTECTED]>
>Date: Wed, 25 Apr 2007 13:10:22 -
>
>Bom dia, estou criando um script para verificar existência de HD em
>uma máquina com bootremoto. Caso o HD exista, verifica se ele se
>encontra nos padrões (uma única partição, no formato XFS), se
>negativo, refaz a tabela de partições, se o hd está no padrão, roda um
>xfs_repair.
>
>Simples, não fosse o inconveniente de, no "else", da cadeira de "if's"
>que verificam o padrão, o script entrasse em um loop (!?). Detalhe que
>no script inteiro não existe nenhum loop, o que retira a possibilidade
>de erro de sintaxe, além do mais, o fato acontece somente no else,
>caso um dos ifs acima seja executado, o programa segue normalmente.
>
>Quem chama esse meu script shell é um scrip expect, comando exec
>/sbin/verifica_tipo3, já tentei usar exec bash -c
>"/sbin/verifica_tipo3" tb, sem sucesso.
>
>Reparei que se eu comentar o comando xfs_repair, o script não entra em
>loop! Porém, apesar de parecer óbvio, é estranho acreditar que ele
>seja o problema, já que, se executado "no braço", fora do script,
>também funciona normalmente.
>
>Ai vai parte do código:
>
>###code-###
>---
>
># Se existir mais que duas particoes, ou nao existir particoes.
>if [ ${TESTE} -eq 0 ]; then
># Terminal nao e tipo 3
>exit 0;
>
>elif [ ${TESTE} -gt 2 -o ${TESTE} -eq 1 ]; then
>MSG="Um HD foi encontrado, porém não se encontra no padrão
>Paraná Digital. 
>Criando partição e formatando HD, esta operação pode demorar alguns
>minutos..."
>mensagem "${MSG}"
>
>cria_particao
>formata_particao
>
># fstyp retorna o nome do sistema de arquivos, se for diferente de
>Xfs, formata particao
>elif [[ $(fstyp "${HD}1") != "xfs" ]]; then
>MSG="Um HD foi encontrado, porém nao se encontra no padrão
>Paraná Digital. 
>Formatando HD, esta operação pode demorar alguns minutos..."
>mensagem "${MSG}"
>formata_particao
>
># Se existir apenas uma particao e ela for xfs, faz um teste de
>integridade
>else
>MSG="Verificando integridade do HD.
>Esta operação pode demorar alguns minutos..."
>#   mensagem "${MSG}"
>
>if mount | grep -q ${HD}1; then
>umount ${HD}1
>fi
>#   xfs_repair ${HD}1
>mount ${HD}1 /media/hd
>fi
>
>###code-###
>---
>
>Como mencionado, o programa apresenta comportamento inesperado somente
>no else. Já tentei colocar exit 0 depois do repair. Já verifiquei que
>o repair é executado corretamente, retorna 0, reparei também, que a
>cada loop, a instância ($$) é diferente.
>
>Alguma sugestão?
>Obrigado, e desculpem o e-mail longo.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Teste de parametros

2007-05-08 Por tôpico mop

par(){ for p in 1 2;do
 eval "[ \${#$p} = 12 ]&&[ n\$$p = n\${$p//[^0-9]} ]"||return
done;}

par 193456789012 199456789012 || echo p$p nOK


---
yahoogrupos:
Respostas, por favor, sem endereço de email do corpo da mensagem.
Obrigado!



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Separar arquivos em blocos

2007-05-08 Por tôpico mop
Eu usaria (uso) coisas assim:

while read;do
 [ "$REPLY" = "From maillo" ]&&HEADER=1&&echo inicio  
 [ "$REPLY" = "X-Mailer: XP" ]&&HEADER=&&echo fim  
doneFrom: Edilson Azevedo
>Date: Tue, 08 May 2007 10:03:38 -0300
>
>Bom dia pessoal!
>
>A algum tempo mandei um email para vcs para me auxiliar a retirar
>alguns dados de um arquivo. Lembrando, a sintaxe do arquivo é essa aqui:
>
>Date: Mon, 7 May 2007 10:05:37 -0300 (BRT)
>From: "Javali cafona" <[EMAIL PROTECTED]>
>
>Como podem ver é o cabecalho de uma mensagem de email. Para separar o
>"From" numa variável, por exemplo, eu uso:
>FROM=`cat $ARQ| grep '^From' | cut -f2 -d'<' |sed -e s/"From: "// |tr -d
>'>'| sed 's/^[ ]*//;s/[]*$//'`(assim eu pego só o endereço de 
>email
>do sujeito)
>
>Aprendí muito com vcs e tudo está joia! Porém (sempre tem um porém...
>rsrs), Eu me deparei com uma dúvida. Sei separar por linhas, sei limpar
>a linha e sei salvar em banco. Mais como faço para saber se a informação
>que tenho é realmente de email1 ou email2?
>
>Não sei se estou sabendo me expressar, mais minha dúvida é a seguinte: É
>possivel fazer com que o shell-script separe um arquivo por blocos??
>Dessa forma eu faria assim (desculpe a ignorância, mais tentarei dar um
>exemplo):
>
>Email 1
>>From maillog
>Date: Mon, 10 May 2007 11:02:01 -0300 (BRT)
>Subject:
>From: "Javali cafona" <[EMAIL PROTECTED]>
>X-Mailer: XP
>
>Email 2
>>From maillog
>Date: Mon, 7 May 2007 10:05:37 -0300 (BRT)
>From: "Javali cafona" <[EMAIL PROTECTED]>
>Cco: [EMAIL PROTECTED]
>X-Mailer: XP
>
>Eu quero que o shell leia o arquivo, quando ele encontrar "From maillog"
>ele saiba que é o inicio do bloco e quando ele ler "X-Mailer: XP" saiba
>que é o fim. Dessa forma ele inicia o trabalho em $BLOCO. Depois ele lê
>o conteúdo de $BLOCO (From:, To:, Date:) e manda para devidas variáveis
>($FROM, $TO, $DATE) e pronto! Ele manda o valor de $FROM para
>arquivo texto (ou em banco, que é o meu caso).
>Daqui por diante ele deve descartar o valor de todas as variáveis e
>continuar para o _próximo_ bloco, que ele sabe que começa em "From
>maillog" e termina em "X-Mailer: XP". Sacaram? O problema principal
>seria essa idéia de separar em blocos, coletar variáveis e pular para o
>próximo bloco. Francamente nunca lí nenhum script que faça isso... rs.
>
>Se alguém puder me dar uma luz!
>
>Valeu Pessoal!!!
>-- 
>
>



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] ER para validar IP

2007-05-11 Por tôpico mop
Tem algo para validar IP em:
http://planeta.dyndns.org/unix/exemplos.txt
Procure por "faixa de ip".

Não sei se funciona ou se vai la linha que você quer (ER), mas acho que
não custa dar uma olhada.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


[shell-script] Re: Configurando o ESC

2007-05-14 Por tôpico mop
Um rabisco rápido apenas com a funcionalidade do BS existente no read
mais o ESC solicitado. Para aprimorar a edição com outras teclas basta 
seguir o princípio, mas a complexidade aumentará desproporcionalmente.

T=
while read -s -n1 t&&[ $t ];do
 [ "$t" = $'\x1b' ]&&T=&&break
 [ "$t" = $'\x08' ]&&T=${T%?}||T=$T$t
 echo -ne "\r   \r$T"
done
echo;echo T=$T

O código deve aparecer mais correto no link:
http://br.groups.yahoo.com/group/shell-script/message/22773?unwrap=1&var=0



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Re: mult-thread bash

2007-05-24 Por tôpico mop
Poderia apresentar a sua proposta para a questão colocada?

--
>From: "Jorge Pereira"
>Date: Thu, 24 May 2007 09:46:30 -0300
>
>putz!!
>
>Pra que fazer um "tanque de guerra" para matar um formiga?
>
>[]s



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Duvida: Resultado do "fdisk -l", num menu do dialog...

2007-05-27 Por tôpico mop
Veja se isso te dá alguma idéia:

P=;p=0;while read d;do P="$P '$[p++]' '$d' ";done< <(fdisk -l|grep ^/)
echo $P



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] cópia partição inteira com tar ou com cp?

2007-05-27 Por tôpico mop
Com sockets (entre maquinas distintas) tenho usado o tar assim,
para a saída padrão:

no transmissor:
tar cvf - $1 # $1 é o ponto alvo (dir ou arq)

no receptor:
tar xfv -

Mas se é na mesma máquina pensaria em um cp -pR...
Veja man cp para maiores detalhes.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] screen em um shell script

2007-06-02 Por tôpico mop
"Must be connected to a terminal"
Isso já diz tudo, o screen está sendo chamado por um script sem terminal.
Supondo que o X está rodando, dê um xterm para  o screen, substituindo
no script:
screen ...
por
xterm -e "screen ..."

ou chame o tal script a partir de um term ou xterm.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] screen em um shell script

2007-06-02 Por tôpico mop
Agora ficou mais claro.

Se a dica do Flavio não resolver, apele para o velho, bom e intimidador:
man screen
Procure a string:
"-d -m"

PS4all: vide strings "mail" abaixo

--
>From: "Flavio Junior" 
>Date: Sat, 2 Jun 2007 20:55:03 -0300
>
>Ta rodando do crontab ? eu tive o mesmo problema qdo precisei rodar do
>crontab..
>
>Bom, de qualquer forma, tente fazer isso:
>
>TERM=linux
>export TERM
>screen balh balh blah
>
>Ou seja, exporta o terminal antes.. mas no meu caso do crontab nao teve
>solução..
>
>
>Flavio do Carmo Junior
>
>On 6/2/07, Lucas Mendes Marques Goncalves < idem endereço mail anterior> 
wrote:
>>
>>   Muito obrigado, porém ...
>>
>> Na verdade, eu estou rodando no modo texto.
>> Quando eu disparo o script, parece que ele abre um bash "sem terminal"
>> (seja lá o que for isso) para rodar o script, e por isso o screen falha
>> ...
>>
>> Eu gostaria de saber se posso corrigir isso sem precisar de xterm ou
>> outra ferramenta gráfica (ie, rodar o script de forma que o bash que o
>> interptreta "tenha um terminal" seja lá o que for isso)
>>
>> mop writes:
>>
>> > "Must be connected to a terminal"
>> > Isso j? diz tudo, o screen est? sendo chamado por um script sem
>> terminal.
>> > Supondo que o X est? rodando, d? um xterm para o screen, substituindo
>> > no script:
>> > screen ...
>> > por
>> > xterm -e "screen ..."
>> >
>> > ou chame o tal script a partir de um term ou xterm.
>> >
>>
>> Lucas Mendes
>>
>> --
>> For three years I had roses, and apologised to nobody.
>> --
>>  
>>



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Dúvida

2007-06-02 Por tôpico mop
brdezao, mais um detalhe restritivo:

Se o script contém dados ou nome de arquivos sensíveis, recomendo que
você defina user:group do script como root:root ou root:nogroup.

Adicionalmente comande:
chmod go-rwx script

Isso vai assegurar que apenas o usuário root poderá executar, ler ou
copiar o script. Dispensaria inclusive qualquer tratamento dentro do
script, dando uma resposta grosseira a quem tente acessá-lo e não seja
o root.

--
PS: retirei todos os endereços de email do texto, RECOMEDO!
estarei sistematicamente lembrando isso, ou suprimindo todo o histórico



--
>From: "Lucas Mendes Marques Goncalves"
>Date: Sun, 3 Jun 2007 02:09:23 -0300
>
>A variavel UID dá a UDI do usuário.
>
>o root tem UID zero
>
>assim, algo como
>
>if [ $UID -eq 0 ]; then echo "vc eh root"; fi
>
>detecta se o usuário é root.
>
>Já que vc é novo, se manjar alguma coisa de inglês, recomendo:
>http://www.gentoo.org/doc/en/articles/bash-by-example-p1.xml
>
>brdezao writes:
>> Olá.
>> Sou novo no mundo do Shell Script, e to com uma dúvida.
>> 
>> Seguinte, to criando um Script aki,e queria que ele só pudesse ser 
>> executado pelo root (Por envolver alguns arquivos de conf.).
>> 
>> Então queria que logo no inicio do script ele detectasse o usuário que 
>> ta rodando e enviasse uma mensagem.
>> 
>> Alguem tem alguma ideia de como me ajudar ou um script pra me mandar 
>> como exemplo ??
>> 
>> grato a todos.
>> Isso entraria num If como ???
>> 
>> 
>> 
>Lucas Mendes 
>
>--
>For three years I had roses, and apologised to nobody.
>--
>



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Ajuda para criar um script

2007-06-04 Por tôpico mop
Você pode consultar também esta thread:
http://br.groups.yahoo.com/group/shell-script/message/22775

E dar um feedback de propostas apresentadas, quando for o caso!


--
>From: "=?ISO-8859-1?Q?Andr=E9_Unno?=" <[EMAIL PROTECTED]>
>Date: Mon, 4 Jun 2007 16:26:49 -0300
>
>Boa tarde pessoal.
>Estou quebrando a cabeça para fazer um script que faça o seguinte:
>
>Eu tenho um arquivo, por exemplo, com o seguinte conteúdo:
>
>1
>2
>3
>4
>5
>teste
>6
>7
>8
>9
>10
>teste
>11
>12
>13
>14
>15
>teste
>
>Eu preciso fazer com que ele separe esse arquivo e cada novo arquivo deve
>conter o conteúdo entre um teste e outro.
>
>Alguém poderia me dar uma luz?
>
>-- 
>André Unno
>GNU/LinuxCounter#390708
>http://counter.li.org
>
>O sistema pediu: "Requires Windows 9x, Windows 2000 or better".
>Então eu instalei Linux.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [off-topic] [shell-script] Integra��o com mySQL - sem script longo

2007-06-15 Por tôpico mop
O off é meu, que fique bem claro.

Tentei acessar os links mas sem sucesso. Pode ser algo temporário.

Acho que seria mais prático e muito mais versátil, caso não tenha uma opção
já, que crie um espaço pessoal em um bom servidor. Existem muitas opções,
tavez o ig também tenha. Daí você pode salvar o arquivo em um pasta específica, 
colocar uma página index html de entrada mencionando todos os seus scripts, 
etc. Seria a tal da home page pessoal.
Acredito que salvando o arquivo como *.txt qualquer navegador exibirá 
corretamente. Poderá também inserir o código em uma página html, quer dizer,
você terá muito mais controle e poderá usar o espaço para muitas outras coisas.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] execução de shell

2007-06-15 Por tôpico mop

O que normalmente se faz é o que o Edson já citou.

Mas você pode executar o script em um lugar qualquer colocando o 
caminho absoluto ou relativo para ele. Lembre que normalmente deve ser
executável, mas você pode usar como source sendo apenas legível.

Finalmente, eu prefiro colocar a grande maioria dos meus scripts em diretorio
exclusivo, de path bem curto e, sendo o primeiro na variável PATH.

Sucesso!

PS:
Ia dar muitos palpites naqueles off, mas quero preservar a cabeça ;)
Um grupo que eu assinaria seria o OffShell, acho que ia dar muito "ibope"
Dei a idéia, mas eu não vou ser o pai, e também não quero assinar "trocentas"
listas. :)



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: RES: [shell-script] dialog

2007-06-19 Por tôpico mop
Par mim não ficou claro se há X e se é desejado usar as mãos 
para chavear entre telas.

Para console, tela única dividida (no hands on), experimente screen com ^aS



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] dialog

2007-06-19 Por tôpico mop
Talvez não precise ser instalado.
Se houver ferramentas de compilação, apenas descompacte, faça os procedimentos
recomendados e apesar de erro, prossivelmente, um ls -l multi* lhe dirá se
nasceu um executável. Se sim, talvez baste um simples
$ ./multitail
Para man um
$ man ./multitail.?

Aliás os *nix são mais seguros mas, de forma genérica, baixar fontes de lugar
qualquer e entregar para o root rodar os scripts é ...
Por isso sempre experimento coisas com o mais "miserável" dos usuários.
PS: o alerta nada tem a ver com o programa citado


--
>From: Élvio Barbalho

>Tiago bem interessante, mas infelizmente não sou o administrador da máquina
>e não vou conseguir instala-lo aki, mas com certeza vou analisai-lo quando
>chegar em casa, mas infelizmente no momento não resolve meu problema.
>



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


[shell-script] Re: Atribuir colunas de arquivo texto a variáveis

2007-06-25 Por tôpico mop
Se não gostou da minha idéia e, o conteúdo procurado somente pode ocorrer
na coluna 3, apenas troque no script do julio:
< arquivo.txt
Por:
< <(grep "o que voce quer" arquivo.txt)

Parametrizar ou não, como? Vale o que eu já disse.

PS: Júlio, boa essa das multiplas variáveis; eu sei que existe, não costumo
usar e, sempre que é ultra conveniente não me lembro dela; gostei :)
continue com essas "sacadas" geniais!!!


--
>From: "Cristiano Ferrari"
>Date: Mon, 25 Jun 2007 14:41:47 -
>
>Pessoal, obrigado a todos que responderam.
>
>A solução do mestre Júlio, reproduzida abaixo, foi a que melhor se
>encaixou, para a questão da atribuição de variáveis.
>
>Entretanto, não consegui fazer com que o while só fosse processado
>para as linhas cujo o texto da coluna 3, por exemplo, case exatamente
>(não apenas contenha) com determinado padrão.
>
>O voyag3r me postou uma dica com o awk, mas eu não consegui
>compreender muito bem.
>
>
><[EMAIL PROTECTED]> escreveu
>>
>> Só no Shell
>> 
>> while read col1 col2 col3 ... coln
>> do
>> echo "$col1$col2"
>> done < arquivo.txt
>> 
>> Abraços,
>> Julio
>> :wq
>> 
>
>
>



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] duvida com ponto

2007-06-28 Por tôpico mop
cut -d . -f 1 impacta.txt|cut -c-80



Re: [shell-script] Compilador múltiplo

2007-06-28 Por tôpico mop
ls -1 *.c|while read F;do echo comp $F ${F%.*}.exe;done

Acerte o comando e tire o echo.



Re: [shell-script] Leitura de arquivo...

2007-07-03 Por tôpico mop
Não entendi bem o que você quer fazer, mas experimente isto e veja se te
dá alguma idéia.

while read L;do
 [ "${L:0:6}" = secao_ ]&&continue
 [ "${L:0:9}" = subsecao_ ]&&S=${L:9}&&continue
 echo ${L/item/item.$S.}
donehttp://www.listas-discussao.cjb.net
-
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


[shell-script] Leitor de buffer do gpm

2007-07-03 Por tôpico mop
Preciso passar o conteúdo do buffer do gpm (mouse interface caractere) via
pipe para outro programa. No script uso xclip quando o X está rodando, mas
na console (modo texto) ainda não descobri que programa faz isso. Tem de
ser feito pelo script, sem interação humana, ou seja, qualquer ato manual
de colar em algum lugar não serve.

Qualquer dica é bem vinda.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


[shell-script] Re: Problemas com a propagação de permissão...

2007-07-04 Por tôpico mop
Mhayk:
Pelo que entendi você criou um binário apenas para poder chamar o shellscript 
como root.
Para coisas como essa, já há algum tempo, mudei a minha filosofia e passei
a usar o sudo para isso. Inclusive fica totalmente transparente para o
usuário pois embuto o teste de user no próprio script. Se o  usuário
não for o esperado o sudo é chamado para rodar o script. Não me
lembro de ter visto qualquer problema de herança ao chamar subshells na
seqüência.


Eis algumas das linhas do /etc/sudoers onde qualquer um vira root.
ALL ALL=(root)NOPASSWD:\
/sh/mod,\
/sh/o,\
/sh/r,\
/sh/edit /home/pes/*,\
/sh/edit /home/pub/*


Nenhum "mortal" lê o sudoers:
[EMAIL PROTECTED]/tmp# ls -l /etc/sudoers
-r--r- 1 root root 498 2007-06-16 18:31 /etc/sudoers


Apenas cuido bem do script que será entregue ao sudo, limitando fortemente
os parâmetros que são aceitos e eliminando toda a interatividade sempre que
possível.



Algumas linhas, de muitas, de um script dessa classe:
_
#!/bin/bash
[ `whoami` = root ] ||{ sudo $0 $*;exit;}

MakNod(){
set -x
 #Exemplo: MakNod /sys/class/video4linux/video "0 1 2 3" ^BT878 tv video
 for x in $2;do


case $1 in none)
;;a)
depmod -a
;;mouse)
 $MPRO psmouse
;;radio)
#DEV=`grep radio /sys/class/*/*/name|cut -d : -f 1`
$MPRO -r bttv;$MPRO bttv card=38 radio=1
 /sh/dev radio '' radio
;;serial)
# NO KERNEL:
;;cam)
 # CAMERA DIGITAL COMO
;;sound)

;;tv)
 # placa Phoebe TV Master + FM: /etc/X/xawtvrc
;;
*)
echo "Uso: $0 <$(
grep '^;;' /sh/mod|grep ')' |tr -d ';)'|tr '\n' '|'
)> [-r]"
esac





Espero que tenha alguma utilidade!
Tio google, indexe para a posteridade! :)
HiAll: comentários são sempre bem vindos



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Re: Problemas com a propagação de permissão...

2007-07-05 Por tôpico mop
Fala mestre JN, não me enganei não:

>From Mhayk: "...
séria dor de cabeça, setei o SUID em uma binário que internamente tem
a função de iniciar um "initscript" chamado siav que eu mesmo fiz,
então é nada mais que isso:

execlp("/bin/bash", "/bin/bash", "-p", "/etc/init.d/siav", "start", NULL)
 ..."

Acho que qualquer um ser root (principalmente eu :) é sempre perigoso, mas
muitas vezes é inevitável. A diferença está apenas entre a má fé e o equívoco
e os dois são muito perigosos. Já vivi o segundo muitas vezes.

Já que tocamos no assunto, entranhei, há muito tempo, porque os shellscripts 
não respeitam seu suid. Deve ser uma restrição do shell e nunca me dei ao 
trabalho de setar o suid de um shell para ver o efeito. Quanto ao que o
nosso colega falou, de perda de identidade, achei estranho, não me lembro de
ter visto isso. Se eu não tivesse já a minha solução seria fácil de fazer umas
experiências com o shutdown. Talvez a solução específica esteja no que o
Reinaldo falou. Um feedback posterior seria muito construtivo.

Assunto interessante, vamos ver que mais aparece...

PS: como sou a bola da vez (n.2) estou eliminado meu endereço abaixo,
aproveito e elimino o seu


--
>From: "Julio C. Neves"
>Date: Thu, 5 Jul 2007 09:53:06 -0300
>
>Fala Mop,
>quem falou do binário com SUID fui eu e não o cara que fez a pergunta.
>Concordo com a sua colocação, mas considero todas estas formas de dar super
>poderes ao usuário comum perigosas e que só devem ser usadas se nada mais
>puder ser feito.
>
>No meu caso, uso o binário que citei, pq temos uma rede totalmente
>heterogênea, que tem servidor de tudo qto é sabor de UNIX, LINUX e BSD e os
>UNIXes que conheço não têm sudo.
>
>Abração,
>Julio
>:wq
>
>
>Em 05/07/07, mop escreveu:
>>
>> Mhayk:
>> Pelo que entendi você criou um binário apenas para poder chamar o
>> shellscript
>> como root.
>> Para coisas como essa, já há algum tempo, mudei a minha filosofia e passei
>> a usar o sudo para isso. Inclusive fica totalmente transparente para o
>> usuário pois embuto o teste de user no próprio script. Se o  usuário
>> não for o esperado o sudo é chamado para rodar o script. Não me
>> lembro de ter visto qualquer problema de herança ao chamar subshells na
>> seqüência.
>>
>>
>> Eis algumas das linhas do /etc/sudoers onde qualquer um vira root.
>> ALL ALL=(root)NOPASSWD:\
>> /sh/mod,\
>> /sh/o,\
>> /sh/r,\
>> /sh/edit /home/pes/*,\
>> /sh/edit /home/pub/*
>>
>>
>> Nenhum "mortal" lê o sudoers:
>> [EMAIL PROTECTED]/tmp# ls -l /etc/sudoers
>> -r--r- 1 root root 498 2007-06-16 18:31 /etc/sudoers
>>
>>
>> Apenas cuido bem do script que será entregue ao sudo, limitando fortemente
>> os parâmetros que são aceitos e eliminando toda a interatividade sempre
>> que
>> possível.
>>
>>
>>
>> Algumas linhas, de muitas, de um script dessa classe:
>> _
>> #!/bin/bash
>> [ `whoami` = root ] ||{ sudo $0 $*;exit;}
>>
>> MakNod(){
>> set -x
>> #Exemplo: MakNod /sys/class/video4linux/video "0 1 2 3" ^BT878 tv video
>> for x in $2;do
>>
>>
>> case $1 in none)
>> ;;a)
>> depmod -a
>> ;;mouse)
>> $MPRO psmouse
>> ;;radio)
>> #DEV=`grep radio /sys/class/*/*/name|cut -d : -f 1`
>> $MPRO -r bttv;$MPRO bttv card=38 radio=1
>> /sh/dev radio '' radio
>> ;;serial)
>> # NO KERNEL:
>> ;;cam)
>> # CAMERA DIGITAL COMO
>> ;;sound)
>>
>> ;;tv)
>> # placa Phoebe TV Master + FM: /etc/X/xawtvrc
>> ;;
>> *)
>> echo "Uso: $0 <$(
>> grep '^;;' /sh/mod|grep ')' |tr -d ';)'|tr '
>' '|'
>> )> [-r]"
>> esac
>> 
>>
>>
>>
>>
>> Espero que tenha alguma utilidade!
>> Tio google, indexe para a posteridade! :)
>> HiAll: comentários são sempre bem vindos
>
>
>-- 
>Abraços,
>Julio
>http://www.julioneves.com - Um livro sobre Bash completo e on-line
>:wq



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Leitor de buffer do gpm

2007-07-07 Por tôpico mop
O problema é informação. Não tenho idéia do ponto de memória onde esse 
registro fica e, embora o gpm venha com algumas ferramentas binárias, não 
percebi nenhuma que possa receber um comando via shell e retornar o conteúdo
do buffer (área de transferência) quando o X não está rodando e fica claro que
existe um, pois copy'n paste funciona, e muito bem.

Estou quase 100% do tempo com o X ativo então o xclip atende bem, apenas
gostaria disso disponível sempre, além do que, procuro ter todos os recursos
disponíveis, o tempo todo, e com a forma de acesso exatamente igual,
independentemente de estar em term ou xterm.

Grato pela dica.

--
>From: "Julio C. Neves"
>Date: Wed, 4 Jul 2007 09:52:32 -0300
>
>Não conheço o gpm e nem sei o que ele faz, mas me parece que o uso named
>pipes (e isso está muito bem explicado no Papo de Botequim) é o que vc
>precisa. Caso isso não atenda, que tal os prgs se falarem por sockets?
>
>Abração,
>Julio
>:wq
>
>
>Em 03/07/07, mop <> escreveu:
>>
>> Preciso passar o conteúdo do buffer do gpm (mouse interface caractere) via
>> pipe para outro programa. No script uso xclip quando o X está rodando, mas
>> na console (modo texto) ainda não descobri que programa faz isso. Tem de
>> ser feito pelo script, sem interação humana, ou seja, qualquer ato manual
>> de colar em algum lugar não serve.
>>
>> Qualquer dica é bem vinda.
>
>
>-- 
>Abraços,
>Julio
>http://www.julioneves.com - Um livro sobre Bash completo e on-line
>:wq



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


OFF-TOPIC Re: [shell-script] Re: Problemas com a propagação de permissão...

2007-07-07 Por tôpico mop
PessoALL,
o Reinaldo me passou gentilmente em PVT um alerta de segurança sobre um post
que fiz nesta thread. Felizmente a máquina de onde tirei isso é de uso pessoal
exclusivo, mas se não fosse, não tenho idéia se notaria esse detalhe e quanto 
tempo levaria para tanto.

Como, pela situação envolvida, vejo que a divulgação desse bug não pode
prejudicar a coletividade, tomo a liberdade de publicar a informação, já que
isto mais pode ajudar que prejudicar.

Reinaldo Carvalho, pela iniciativa,
Muito Obrigado!

PS
Uma forma que imagino para contornar seria o edit (que é um script) copiar
o arquivo como root para uma area reservada de um user adequado, mudar o
owner do arquivo para esse, chavear para o tal user e abrir o editor. Os
poderes seriam os do tal, então. Uma vez saído do editor refaz o processo
de forma inversa, preferencialmente com um mv ao inves de cp para salvar na
origem. Fica bem claro aqui que o script tem de ser confiável para evitar
possíveis desvios imprevistos.
Outra forma seria limitar no sudoers por user ou group o acesso a esse "edit",
mas isso mudaria a filosofia original.


--
>Date: Thu, 5 Jul 2007 11:27:23 -0300
>From: "Reinaldo Carvalho"
>
>mop, você atentou que mesmo a restrição "/sh/edit /home/pub/*" não
>impede que o usuário abra outros arquivos do filesystem depois que o
>editor esteja em uso?
>
>Com o vi, bastaria dar um "e: /etc/shadow", por exemplo.
>
>
>-- 
>Reinaldo Carvalho



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Ajuda em script para separar arquivo binario de script

2007-07-10 Por tôpico mop

Experimente assim:
if [ "$tipo" = Bourne ]



Re: [shell-script] Ajuda em script para separar arquivo binario de script

2007-07-10 Por tôpico mop
Olhei por alto, o único problema que notei é que você emendou tudo
colocando um única string no if. Você fez isto:
[ "$tipo"=="Bourne" ]

Quando deveria ter feito isto:
if [ "$tipo" == "Bourne" ]

Repare que tem de existir: string1 espaco comparador espaço string2.

Recomendo que acima do seu if escreva simplesmente>
echo === if [ "$tipo" == "Bourne" ]

E veja o que será escrito na execução. Sua comparação é muito limitada e
somente deverá pegar um tipo de shell.


--
>From: "Salviano A. =?utf-8?q?Le=C3=A3o?=" <>
>Date: Tue, 10 Jul 2007 22:52:37 -0300
>
>Em Ter 10 Jul 2007, mop escreveu:
>> if [ "$tipo" = Bourne ]
>
>Tentei, entretanto, ele problema persiste. É como
>se não houvesse o if
>
>



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Ajuda em script para separar arquivo binario de script

2007-07-11 Por tôpico mop
Como esta é uma lista de shell não custa reforçar, mas não pesquisei, vai no
"intuitômetro" da minha experiência, exclusivamente com bash:

1. -eq é para comparar números exclusivamente

2. [ ${tipo} = "Bourne" ] somente deve ser usado quando a variável tipo não
puder ser vazia ou contendo espaços, caso contrário haverá erro. Não há nenhuma 
necessidade de aspas nessa string FIXA E SEM ESPAÇOS à direita

3. [ "${tipo}" = Bourne ] a forma mais econômica é essa, ou melhor, sem as
chaves, que neste caso, não vejo necessidade delas, ja que a variável tipo 
não está em meio a uma string onde o shell não teria como identificá-la,
como em: echo abc${tipo}123

4. Para prevenir o vazio à esquerda do comparador costumo fazer:
 [ "$tipo" = Bourne ] ou [ _$tipo = _Bourne ]

A segunda solução não serve caso $tipo possa conter espaços, por exemplo,
tipo='shell script', quer dizer, o mais garantido é a opção com aspas. Se
tipo nunca contiver espaços e nunca for vazio é possível simplificar para
[ $tipo = Algo ]
Em resumo, ratificando, a solução 100%, que cobre todos os casos com strings
é:
[ "$tipo" = Algo ]
Como o que está à direita neste caso é fixo, na hora que se escreve já é 
possível saber se são necessárias aspas ou não.

Não é preciso um script para experimentar isso. Basta a linha de comando do
shell:
shell-prompt> tipo="1 2 3"; [ "$tipo" = 2 ]&&echo igual||echo diferente

Daí é só brincar com as possibilidades, com um mínimo de trabalho, usando a 
magnífica tecla seta para cima. (don't be root :)
Não esquecer de fazer "tipo" vazio, com espaços somente, com espaços e 
caracteres, etc.

Pode setar na linha de comando:
set -x
Para o shell mostrar visualmente as linhas de comando que está executando.
Para retornar ao normal:
set +x

É isso, espero que os novatos aproveitem.
É muito bacana brincar com um shell a la "unix".
Não mostrem para as crianças, pois poderão achar muito mais legal que brincar
de clique-clique e ficar viciadas. :)

PS
Isto pode não valer inteiramente em outro shell



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Ajuda em script para separar arquivo binario de script

2007-07-11 Por tôpico mop
Gostei do teste São Tomé numérico. :)
Apenas diria que sob teste não há atribuição, trata-se apenas de uma
string com um = no meio.

Segundo São Bash:
[EMAIL PROTECTED]/$ bash --version
GNU bash, version 3.2.0(1)-release (i686-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
[EMAIL PROTECTED]/$ [ ];echo $?;[ 0 ];echo $?;[ = ];echo $?;[ a=p ];echo 
$?;echo a=$a
1
0
0
0
a=
[EMAIL PROTECTED]/$

Legal essa opção em linha para a turma brincar rapidinho.


--
>From: "Julio C. Neves" 
>Date: Wed, 11 Jul 2007 16:51:42 -0300
>
>João e Salviano,
>o cmd test com a opção -eq é usada para teste numérico e o sinal de igual e
>usado para comparações ascii. Veja:
>Prompt> [ 01 = 1 ]; echo $?
>1
>Prompt> [ 01 -eq 1 ]; echo $?
>0
>
>Devemos tb levar em consideração que o shell interpreta duas cadeias de
>caracteres com um sinal de igual separando as duas e sem nenhum espaço em
>branco como uma atribuição. Como toda atribuição volta verdaderiro, veja o
>que acontece:
>
>Prompt> tipo=Julio
>Prompt> [ $tipo=Salviano ]; echo $?
>0
>Prompt> [ $tipo = Salviano ]; echo $?
>1
>
>Abraços,
>Julio
>:wq
>
>
>
>Em 11/07/07, mop
>>
>> Como esta é uma lista de shell não custa reforçar, mas não pesquisei, vai
>> no
>> "intuitômetro" da minha experiência, exclusivamente com bash:
>>
>> 1. -eq é para comparar números exclusivamente
>>
>> 2. [ ${tipo} = "Bourne" ] somente deve ser usado quando a variável tipo
>> não
>> puder ser vazia ou contendo espaços, caso contrário haverá erro. Não há
>> nenhuma
>> necessidade de aspas nessa string FIXA E SEM ESPAÇOS à direita
>>
>> 3. [ "${tipo}" = Bourne ] a forma mais econômica é essa, ou melhor, sem as
>> chaves, que neste caso, não vejo necessidade delas, ja que a variável tipo
>> não está em meio a uma string onde o shell não teria como identificá-la,
>> como em: echo abc${tipo}123
>>
>> 4. Para prevenir o vazio à esquerda do comparador costumo fazer:
>> [ "$tipo" = Bourne ] ou [ _$tipo = _Bourne ]
>>
>> A segunda solução não serve caso $tipo possa conter espaços, por exemplo,
>> tipo='shell script', quer dizer, o mais garantido é a opção com aspas. Se
>> tipo nunca contiver espaços e nunca for vazio é possível simplificar para
>> [ $tipo = Algo ]
>> Em resumo, ratificando, a solução 100%, que cobre todos os casos com
>> strings
>> é:
>> [ "$tipo" = Algo ]
>> Como o que está à direita neste caso é fixo, na hora que se escreve já é
>> possível saber se são necessárias aspas ou não.
>>
>> Não é preciso um script para experimentar isso. Basta a linha de comando
>> do
>> shell:
>> shell-prompt> tipo="1 2 3"; [ "$tipo" = 2 ]&&echo igual||echo diferente
>>
>> Daí é só brincar com as possibilidades, com um mínimo de trabalho, usando
>> a
>> magnífica tecla seta para cima. (don't be root :)
>> Não esquecer de fazer "tipo" vazio, com espaços somente, com espaços e
>> caracteres, etc.
>>
>> Pode setar na linha de comando:
>> set -x
>> Para o shell mostrar visualmente as linhas de comando que está executando.
>> Para retornar ao normal:
>> set +x
>>
>> É isso, espero que os novatos aproveitem.
>> É muito bacana brincar com um shell a la "unix".
>> Não mostrem para as crianças, pois poderão achar muito mais legal que
>> brincar
>> de clique-clique e ficar viciadas. :)
>>
>> PS
>> Isto pode não valer inteiramente em outro shell
>
>
>-- 
>Abraços,
>Julio
>http://www.julioneves.com - Um livro sobre Bash completo e on-line
>:wq



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


[shell-script] Re: Conversão de Bases em Bash

2007-07-12 Por tôpico mop
Ótimas dicas, apenas acrescentaria que, pelo menos no bash, as bases não
precisam ser exclusivamente potências inteiras de 2.

[EMAIL PROTECTED]/tmp$ n=R1s; for b in `seq 56 99`;do echo n=$n bd=$b 
vd=$[$b#$n];done
n=R1s bd=56 vd=166292
n=R1s bd=57 vd=172282
n=R1s bd=58 vd=178378
n=R1s bd=59 vd=184580
n=R1s bd=60 vd=190888
n=R1s bd=61 vd=197302
n=R1s bd=62 vd=203822
n=R1s bd=63 vd=210448
n=R1s bd=64 vd=217180
bash: 65#R1s: invalid arithmetic base (error token is "65#R1s")
[EMAIL PROTECTED]/tmp$ 

Obs.: colunas 2 e 3 com valores em decimal:



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


[shell-script] Re: Separar campos contidos numa linha

2007-07-12 Por tôpico mop
Veja se não há delimitadores do tipo  que no copy'n paste
com mouse podem ir embora.

Talvez não haja delimitadores pois a posição dos campos é fixa na linha o
que acho ser bem mais provável.

Dê uma olhada nas várias linhas e veja se não está tudo devidamente alinhado.

É assim que se aprende solidamente, fazendo coisas de verdade para resolver
problemas reais do dia a dia.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Redimensionando fotos e modificando a resolução rapidinho

2007-07-13 Por tôpico mop
Nessa linha vi, já faz tempo, um script que gerava uma lista html e mais
algumas cositas que não me recordo. Gosto de agrupar esses achados por tópico
pois um dia ao me envolver com o tema costumam ser muito úteis.

O nome do scrit é fotos:
http://planeta.dyndns.org/scripts/index.htm


--
>From: "voyeg3r"
>Date: Wed, 11 Jul 2007 14:17:55 -
>
>Quando são muitas fotos o jeito é um script, não é mesmo?
>
>#!/bin/bash
># Script para redimensionar e modificar
># a qualidade de fotos
>#
># Agradecimentos: JFMitre
># http://jfmitre.blogspot.com/2006/05/imagemagick-convert.html
>
># Renomeando as fotos para tirar os espaços
>for i in *.jpg; do mv "$i" `echo $i | tr ' ' '_'`; done
>
>for i in *.jpg; do
>convert -quality 70 -resize 30% $i $i-70.jpg;
>done




-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Proteger instalação do HD

2007-07-23 Por tôpico mop
Veja hdset em:
http://planeta.dyndns.org/scripts/
A finalidade parece ser de direcionamento da inicialização.

Se a finalidade é impedir a clonagem, acho difícil fazer alguma coisa,
mesmo a nível de kernel.
É preciso colocar a checagem no trabalho intelectual, que é a única coisa
exclusiva, não obtenível em outro lugar, todo o resto um adoslescente com 
um cd e um pouco de conhecimento contornará, ou subtituirá por aqruivos
padrão. Além disso, precisará de criptografia, pois modificar um binário com um 
editor hexa também é fácil, sendo apenas a localização do ponto a questão mais
trabalhosa.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Quantidade Caracteres em variavel

2007-07-25 Por tôpico mop
LEN=5
var=$1
[ ${#var} -le $LEN ]&&[ -z "${var//[0-9]}" ]||{ echo erro;exit 1;}
while [ ${#var} -lt $LEN ];do var=0$var;done
echo "var=$var="



Re: [shell-script] return 0

2007-07-25 Por tôpico mop
Modifiquei, está auto explicativo:

teste() {
printf a
echo -n B
return 1
}

VAR=$(teste);echo \$?=$?

echo VAR=$VAR;echo \$?=$?



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] return 0

2007-07-25 Por tôpico mop
O tiago já detalhou o restorno efetivamente obtido, estou apenas respondendo 
para retirar meu email da mensagem.:)

Reforçando, o que era desejado na questão original deve ser obtido com
VAR=$?, pois o shell, a cada comando seta um byte (decimal 0 a 255), o status
code, que é legível com um simples "?" como nome de variável na linguagem dele
com o mundo externo.



--
>From: "Tiago Barcellos Peczenyj" 
>Date: Wed, 25 Jul 2007 14:02:27 -0300
>
>Reforçando
>
>o return em uma função shell é como um exit -- ela modifica a variavel
>$? para informar se houve um erro, por exemplo.
>
>quando vc faz
>
>VARIAVEL=$(comando)
>
>tudo o que o comando enviar para a stdin (via echo, print, por
>exemplo) será atribuido à variavel de ambiente.
>
>On 7/25/07, mop wrote:
>> Modifiquei, está auto explicativo:
>>
>> teste() {
>> printf a
>> echo -n B
>> return 1
>> }
>>
>> VAR=$(teste);echo \$?=$?
>>
>> echo VAR=$VAR;echo \$?=$?
>>
>>
>>
>> -
>> 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
>>
>>
>>
>
>
>-- 
>Tiago B Peczenyj
>Linux User #405772
>
>http://peczenyj.blogspot.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: [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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] return 0

2007-07-25 Por tôpico mop
452.   version=`get_gtk_file_ver "$ifile"`

Pega versão arquivo bibliteca instalada. Se não achar, com certeza: 
version="" e $? != 0
Ou seja na sequencia  a condição parece verdadeira.

if [ $? -ne 0 ]; then
continue
fi

Solução, instalar as dependências necessárias; isso costuma ser checado
adequadamente pelos scripts "configure"


PS
Estou quebrando a thread no email, ela está publicamente disponível no
endereço:
http://br.groups.yahoo.com/group/shell-script/messages



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] return 0

2007-07-25 Por tôpico mop
Valeu! :|

http://br.groups.yahoo.com/group/shell-script/message/23356?var=0

--
>From: "Tiago Barcellos Peczenyj" <[EMAIL PROTECTED]>
>Date: Wed, 25 Jul 2007 15:19:18 -0300
>





>> >respondendo
>> > para retirar meu email da mensagem.:)
>> >



Re: [shell-script] arquivo temporário virtual

2007-09-28 Por tôpico mop
"Appendar" as saídas parciais em uma variável me parece o que você precisa.
Veja:
[EMAIL PROTECTED]/tmp$ V=
[EMAIL PROTECTED]/tmp$ V="$V`echo -e 'a\nb\nc\nd'|grep c`"$'\n'
[EMAIL PROTECTED]/tmp$ V="$V`echo -e '1\n2\n3\n4'|grep 2`"$'\n'
[EMAIL PROTECTED]/tmp$ echo -n "$V"
c
2
[EMAIL PROTECTED]/tmp$ echo -n "$V"|xxd
000: 630a 320ac.2.
[EMAIL PROTECTED]/tmp$ echo -n "$V"|grep c
c
[EMAIL PROTECTED]/tmp$

Boa sorte!



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Cópia remota compactada

2007-10-17 Por tôpico mop

No sender:
faucet $PORT --once --out --verbose tar cvf - $*


No receiver:
hose $IP $PORT --in tar xfv -

faucet e hose são do netpipes.
Alguns exemplos em http://planeta.dyndns.org/unix/exemplos.txt

Como pacote slack é simplesmente um tar.gz:
http://packages.slackware.it/search.php?v=current&t=1&q=netpipes

Se preferir pode experimentar com o nc (netcat)



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] stdin + read + pipe = ???

2007-10-17 Por tôpico mop
Exprimente o comportamento do sh com estes fds no install:

for f in in out err
 do eval "read -p $f: $f< /dev/std$f;echo $f=\$$f"
done


Que linhazinha amarranda essa do usuário hein!?
E o install, também não pode mexer?
;)



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


[shell-script] Re: While e as condições

2007-10-17 Por tôpico mop
Realmente desaconselho o uso do $?, a menos que você saiba muito bem
o que está fazendo, pois ele muda a toda hora. Basta executar echo e pronto,
ele já mudou, embora o valor possa ser igual ao anterior, lógico.
Até por manutenção futura isso deve ser evitado nesse ponto onde foi colocado.
Pegue o valor do status exatamente no ponto que deseja e armazene, por exemplo,
Y=$?

Experimente, para não perder tempo, um loop test simples na linha de comando:
Y=0;Xx=2; while [ $Y$Xx -lt 3 ];do read -p _$Y$Xx -t 1;done

Teste seu universo, quando ok, é só passar para o script.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: Res: Res: [shell-script] Re: While e as condiç

2007-10-19 Por tôpico mop
Devido à insistência de não dizer o erro que o script está executando
(em relação à espectativa, já li o que você quer), não li o script,
mas usando o find notei que.

Você seta Yy antes de entrar no loop e também dentro dele. Ok
Você seta Xx antes de entrar no loop e também dentro dele. Ok

Este if [ "$Yy" -ne 0 ]; é dispensável, o while já está cuidando disso.

Parece-me que já "chutei" a sua solução no email anterior. Como parece que
que ele não recebeu crédito, presenteio-o com uma linha para você colar no 
prompt do shell e simular o comportamento do script manualmente, com 
todos os pontos dinâmicos que detetei com o find. Não esqueça de informar o Yy  
quando pedido, se não, é claro que o shell dará erro.

Yy=1;Xx=1;while [ $Yy -ne 0 -a $Xx -le 3 ];do read -p Xx=$[Xx++],Yy=$Yy,Yy: 
Yy;done


Vi msmtp em vários pontos. A menos que seu script demore muito, não era
mais prático appendar cada falha em uma variável e, ao final de todo o 
processo apenas eviar um relatório geral, caso a variável não estivesse vazia.
Como vi que tem ping retornando Cs, já pensou em pegar o tempo ao invés, e
filtar para tempo vazio ou maior que ??, isso poderia mostrar problemas de
lentidão também. Desculpe "viajar", mas aquele loop estava muito chato. :)



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: Res: [shell-script] Re: While e as condições

2007-10-18 Por tôpico mop
Pôxa, você podia ser bacana e dizer qual o problema. Vou chutar:
Lembre sempre de resetar o Yy:
Yy=1
while [ $Yy -ne 0 -a $Xx -le 3 ];do

Obs.:
-o = OR
-a = AND

Imagino que seja um AND que você quer...
Não analisei o script.



--
>From: pablo oliveira
>
>Bom galera 
>o script ficou assim com as sugestões, mas ainda não funciona como quero




-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Seq literal

2007-10-28 Por tôpico mop
No bash isto deve resolver:
echo {a..z}



-
>O seq só aceita números reais como parâmetros de início e fim de
>sequência. Eu preciso de algo que me dê a sequencia [a..z].



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Re: Reparem na sutileza destes dois exemplo ...

2007-10-28 Por tôpico mop
Legal seria mostrar como enviar o stderr, exclusivamente (sem o stdout), para
o grep, no bash, sem usar um programa para redirecionamento adicional.


--
>eh pq nao eh possivel 'capturar' a saida do comando, dpkg, pois ele envia
>pelo stderr,
>para tanto, conforme mostrei em um dos topicos antigos, duplicando-se a
>saida usando se o stdout
>como base, temos uma captura perfeita, ou seja, passa pelo pipe.



Re: [shell-script] Criar tabela html

2007-10-28 Por tôpico mop
Por certo sua questão é HTML!

Se não, mostre o resultado final desejado (código em html), lembre que
interpretação e análise de html foge ao escopo da lista.

Se desejar mostrar sinteticamente o já que obteve, mal não deve fazer.


--
>Fiz um script para listar o conteudo de uma pasta em links html,
>funcionou, porem todos links ficam um por linha, e eu gostaria que 
>ficassem em forma de tabela- mais de um link por linha - entao 
>gostaria de saber como fazer para pegar o resultado do comando 'ls -C 
>' e tranformar em uma tabela html,sendo que cada arquivo seja um link 
>para o mesmo.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


[shell-script] Re: Criar tabela html

2007-10-28 Por tôpico mop
Tentei rodar o script, mas o que é $1?
Tentei faze-lo a saída do ls -C, mas parece que não é isso.

OFF
Você falou em links, não vi link nenhum.
Como estava difícil rabisquei algo (sem links), apenas formatação.
Se precisar link terá de tratar por célula (arq/dir).
Já pensou em fazer com  e fonte de largura fixa?
/OFF

Espero que te sirva de algo.
É só rodar no diretorio desejado.
Para gerar arquivo:
script >/tmp/z.htm


COL=80
echo -n ""
/bin/ls -C|while read -n $COL l;do
 [ "${c:10:1}" = 7 ]&&c=' bgcolor=#88CCFF'||c=' bgcolor=#77FFCC'
 l=" `echo -n $l`"
 l="${l// /}"
 echo -n "${l/<\/td>/}"
done
echo -n ""




--
>> A minha questao é Shell Script mesmo.. e atendendo seu pedido, 
>mostro o script que fiz, porem como falei a cima.. ele cria apenas um 
>link por linha e eu quero he que fique igual ao resultado do comando 
>'ls -C'. Se alguem poder ajudar, agradeço.
>
>Este é o scritp :
>
>#!/bin/bash
>#cria tabela htm
>
>n=$1
>
>if [ $# -ne 1 ]
>then
>echo
>echo "Digite o nome da pagina"
>echo
>exit 1
>fi
>
>i=0
>while read line
>do
>i=$((i+1))
>if [ "$((i%2))" == "0" ]
>then
>echo  ""
>else
>echo  ""
>fi
>echo $line
>
>done  < $n  > ${n}b
>
>#insere cabeçalho   html no index.html
>echo " " > index.html
>echo "" >> 
>index.html
>#pasando as tags da tabela para o index
>cat ${n}b >> index.html
># fechando as tags
>echo "" >> index.html
>echo
>echo "Index pronto"



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] gravar um log de tudo que rola no terminal

2007-11-03 Por tôpico mop


Procure a string "conteudo da tela de um terminal" em
http://planeta.dyndns.org/unix/exemplos.txt

É pelo menos um ponto de partida, caso o terminal desejado seja um tty.




-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


[shell-script] Re: Expressões regulares usando SED (novo problema)

2007-11-05 Por tôpico mop
Olá Miguel,
tenho acompanhado o papo e estais a falar sempre em sed.
Bem eu não sei nada sobre ele, e só o tenho usado em último caso.

Quanto ao problema que estás a colocar eu resolveria simplesmente com:
mount|grep ' / '|cut -d' ' -f1

A menos que eu me engane só deve existir um ponto de montagem "/" que
deve ser o primeiro a nascer e o último a morrer. Considerando isto ainda
é possível fazer em puro shell com:
readhttp://www.listas-discussao.cjb.net
-
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


[shell-script] Re: Redirecionar erro na tela

2007-11-07 Por tôpico mop
Outro dia precisei achar o primeiro canal disponível em uma hierarquia que 
defini. Não lembro bem do código, mas lá tinha algo parecido com:

ifconfig|grep -m1 -A1 ^ppp|tail -n1|tr -s ' ' :|cut -d: -f4

que definiria, com porta e ip, uma ação sobre o firewall de um portátil.

Parece que você não quer o ip, nem testar se existe rota ou resolução de
nomes, então acho que poderia simplificar para:

ifconfig|grep -q -m1 ^ppp&&echo está OK >&2

O que acho que não seria legal é chamar novamente o ifconfig em seguida
para pegar algo que poderia ter sido obtido em um único porcesso.
Desculpe se perdi algo na thread, li rapidamente.

Naquilo que fiz talvez tivesse todos esses pipes, pois costumo tratar 
variáveis em shell, uma vez que elas chegam a uma única linha. Assim, de 
improviso, mandei o ip pelos tubos mesmo. :)

Como li algo sobre saída em stderr também, veja se não quer algo como
ifconfig ^pp 2>/dev/null


--
>From: "bossonaroesao06"
>Date: Wed, 07 Nov 2007 16:45:19 -
>
>Ops..
>Nao deu nao...
>Quando eu redireciono a saida dessa forma, ele nao coloca o valor 
>dentro da variavel. Entao sempre que eu for testar a variavel ela vai 
>estar vazia ja que a saida do ifconfig foi redirecionada.
>
>Alguem pode ajudar a resolver isso??
>Obrigado




-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Variaveis Variaveis ${${var}}

2007-11-07 Por tôpico mop
Opa Tiago,
não uso esse shell, mas ao velho estilo São Tomé resolvi ver o que
a versão pré-jurássica que tenho aqui faria.

[EMAIL PROTECTED]/tmp$ ksh
[033]0;[EMAIL PROTECTED]:[EMAIL PROTECTED] PS1=??$PWD/??
??/tmp/??A="alguma mensagem"
??/tmp/??B=A
??/tmp/??eval echo \$$B
alguma mensagem
??/tmp/??$0 --version
  version sh (AT&T Labs Research) 1993-12-28 o+
??/tmp/??ls -l $0
ls: cannot access ksh: No such file or directory
??/tmp/??ls -l `which $0`
-rwxr-xr-x 1 root bin 865756 2004-02-15 05:58 /bin/ksh
??/tmp/??exit
[EMAIL PROTECTED]/tmp$ 

Como não uso esse shell, apenas acabei de checar o slack current.
=ksh93-2007_03_28-i486-2 in slackware/ap
Meu ksh :) está atualizado!

Não sei se este relato acrescenta algo, mas detalhei como pude.




--
>From: "Tiago Barcellos Peczenyj"
>Date: Wed, 7 Nov 2007 17:45:00 -0200
>
>Imaginemos duas variaveis:
>
>A="alguma mensagem"
>B=A
>
>É facil acessar o conteúdo de cada uma delas:
>
>$ echo $A
>alguma mensagem
>
>$ echo $B
>A
>
>Agora, e se eu quisesse acessar o valor de uma variavel através do
>conteúdo de outra?
>
>variavel B tem o conteudo A.
>variavel A, por sua vez, tem outro conteudo.
>
>Eu poderia utilizar eval pra conseguir esse comportamento
>
>$ eval echo \$$B
>alguma mensagem
>
>ou então utilizar a expansão ${!Variavel}
>
>$ echo ${!B}
>alguma mensagem
>
>Funciona no Bash e deveria funcionar o Ksh (ai deveria entrar um tal
>de nameref pra ajudar mas não consegui implementar).
>
>fica a dica.
>-- 
>Tiago B Peczenyj
>Linux User #405772
>
>http://peczenyj.blogspot.com/
>"what does not kill us makes us stronger"



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Variaveis Variaveis ${${var}}

2007-11-07 Por tôpico mop
Minha resposta anterior estava parcialmente incorreta.
O repósitorio local está atualizado, mas o pacote instalado não era o último.
Deve ser um bem antigo, nem esta na lista de pacotes instalados.
Como disse eu não o uso, scripts configure ou make, sei lá...
Bem, descompactei o último no diretório abaixo e rodei desse ponto, sem
instalar, é só um tar x... :)

[EMAIL PROTECTED]/tmp/test$ ls -l  
total 12
drwxr-xr-x 2 web ppp 4096 2007-04-15 20:32 bin/
drwxr-xr-x 2 web ppp 4096 2007-04-15 20:32 install/
drwxr-xr-x 5 web ppp 4096 2007-04-15 20:32 usr/
[EMAIL PROTECTED]/tmp/test$ ls -ld bin/*
-rwxr-xr-x 1 web ppp 977876 2007-04-15 20:32 bin/ksh.new*
[EMAIL PROTECTED]/tmp/test$ md5sum bin/*
8caae608a57ccff2dcea53946c8518ca  bin/ksh.new
[EMAIL PROTECTED]/tmp/test$ bin/*
[033]0;[EMAIL PROTECTED]:[EMAIL PROTECTED] PS1=':) '
:) A="alguma mensagem"
:) B=A
:) eval echo \$$B
alguma mensagem
:) echo $0
bin/ksh.new
:) echo $PWD
/tmp/test
:) $0 --version
  version sh (AT&T Research) 1993-12-28 s+
:) exit
[EMAIL PROTECTED]/tmp/test$


---
Desculpem a ~dupla postagem, mas tinha de reparar a minha falha!



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Script para snmpd - Tabela de Partições

2007-11-24 Por tôpico mop
>Em suma queria retornar os dados da posição digamos da coluna System 
>a linha /dev/sda8, que retornaria o valor Linux.
>Não sei se fui claro o suficiente. Sugestões serão muito bem vindas.
-

Os outros eu não sei, mas eu não entendi nada.
Ainda assim vou tentar ajudar. Em SYS estou guardando a partição montada
como "/".
Na linha seguinte estou listando o disco correspondente e filtrando aquela 
partição. Tirando tudo e mostrando a última palavra.
Brinque aí e veja se acende alguma luz.

SYS=$(mount|grep ' / '|cut -d' ' -f1)
fdisk -l ${SYS//[0-9]}|grep $SYS|tr -s ' '|cut -d' ' -f6

Para ter um melhor retorno da lista sugiro que simplifique e clarifique a 
questão.

Boa sorte!



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] sair do comando tail de volta para script

2007-11-27 Por tôpico mop
Deve haver um loop no seu script. Se o ^C te atende, experimente colocar antes:

trap continue 2 3

On 11/27/07, Everton Goularth <[EMAIL PROTECTED]> wrote:
> Bom dia lista,
>
> estou enfrentando uma dificuldade que após muita pesquisa ainda não
> consegui resolver. Estou configurando um shell script onde uma das
> opcoes que o usuario pode escolher é para visualizar um arquivo de log
> em tempo real, estou usando um "tail -f" para tal, porem  nao achei uma
> saida na qual o usuario pudesse cancelar a visualização do arquivo e
> voltar para o menu principal, ou seja, não consigo que o script execute
> nenhum comando depois do tail -f, quando o usuario pressiona < ctrl + c
>  > o script termina. A parte correspondente do email é a seguinte:
>
> tail -v  /var/log/arquivo.log | grep "string" | sed
> 's/string1/string2/'| sed 's/string3/string3'| sed 's/string4/string4/'
> echo
> echo "Visualização de log finalizada"
> clear
> script.sh
>
> onde apos a finalização do comando tail gostaria de executar o script
> novamente.
>
> Alguem tem alguma sugestão? qualquer dica é bem vinda...
> Obrigado pela oportunidade
>
> Everton Goularth
>
>   
> ___
> Yahoo! Mail - Sempre a melhor opção para você!
> Experimente já e veja as novidades.
> http://br.yahoo.com/mailbeta/tudonovo/
>
>
>


Re: [shell-script] sair do comando tail de volta para script

2007-11-27 Por tôpico mop
Desculpe(m), eu quis dizer:
"antes do loop", no script
--
> Deve haver um loop no seu script. Se o ^C te atende, experimente colocar
> antes:
>
> trap continue 2 3


[shell-script] Re: trabalhando com linhas de arquivo ( e o sed -i ?)

2007-11-27 Por tôpico mop
Parece-me que o SED é bem tolerado como assunto na lista. :)

Não lembro de uma forma de fazer uma substituição de string no local
físico com as ferramentas comumente citadas aqui.

Pelo que entedi o sed com a opção -i faria isso.
"ls -i" mostra o inode do arquivo.
Obs.: os resultados abaixo são em uma simples partição ext2, blocos de 4k.
Qual a explicação


Do manual do sed:

   -i[suffix], --in-place[=suffix]

  edit files in place (makes backup if extension supplied)


VERSAO:
---
[EMAIL PROTECTED]/tmp# sed --version|grep ver
GNU sed version 4.1.5
[EMAIL PROTECTED]/tmp#


O SED:
---
[EMAIL PROTECTED]/tmp$ cat a;ls -i a;sed -i 's/r/R/' a;cat a;ls -i a
pqrst
578005 a
pqRst
577986 a
[EMAIL PROTECTED]/tmp$
 passou o arquivo para outro local, testado várias vezes

O SHELL
--
[EMAIL PROTECTED]/tmp$ cat a;ls -i a;echo pqZst >a;cat a;ls -i a
pqRst
577986 a
pqZst
577986 a
[EMAIL PROTECTED]/tmp$


O SHELL "appendando"
--
[EMAIL PROTECTED]/tmp$ cat a;ls -i a;echo :pqZst >>a;cat a;ls -i a
pqZst
577986 a
pqZst
:pqZst
577986 a
[EMAIL PROTECTED]/tmp$



E viva o shell !!!
Qual o programa indicado para fazer substituições no local físico?



--
On 11/27/07, Flavio Junior
> simples:
>
> [EMAIL PROTECTED] ~]# cat nada
> teste1
> teste2
> teste3
> teste4
> teste5
> teste6
> teste7
> teste8
> [EMAIL PROTECTED] ~]# sed -i.bkp '/teste5/iNVA
> LINHAAA' nada
> [EMAIL PROTECTED] ~]# cat nada
> teste1
> teste2
> teste3
> teste4
> NVA LINHAAA
> teste5
> teste6
> teste7
> teste8
> [EMAIL PROTECTED] ~]# sed -i.bkp '/teste5/aNVA
> LINHAAA' nada
> [EMAIL PROTECTED] ~]# cat nada
> teste1
> teste2
> teste3
> teste4
> NVA LINHAAA
> teste5
> NVA LINHAAA
> teste6
> teste7
> teste8
> [EMAIL PROTECTED] ~]#


Re: [shell-script] Re: trabalhando com linhas de arquivo ( e o sed -i ?)

2007-11-27 Por tôpico mop
Exatamente Flávio, o sed cria outro arquivo, só que isso fica invisível,
ou transparente para o usuário, pois ele recebe tudo pronto, só que isso
dependendo do caso pode não atender. Segui os seus passos e fui um pouco além.
Ficou um pouco longo o relato, mas quero deixar aqui registrado para a
posteridade. Segue abaixo da sua mensagem.

Caso haja outras idéias, eu pelo menos, estou sempre interessado em aprender.


--
>From: "Flavio Junior
>Date: Tue, 27 Nov 2007 16:15:39 -0200
>
>Hm..
>
>Se eu entendi o que tu tentou demonstrar ali é que, o sed -i na real
>cria uma nova entrada de diretorio no sistema de arquivos né ?
>
>O que gera um novo i-node.
>
>O proprio "vim" usa a tecnica no sed.. o que se mostrou mais rapido (o
>sed) nos meus testes mesmo. Mas o "ed" (oh, o ed...) pode fazer o que
>voce quer:
>
>[EMAIL PROTECTED] ~]# ls -i teste.txt; cat teste.txt
>2097218 teste.txt
>teste
>[EMAIL PROTECTED] ~]# ed -s teste.txt <<< $'s/e/3/g
>w
>q'
>[EMAIL PROTECTED] ~]# ls -i teste.txt; cat teste.txt
>2097218 teste.txt
>t3st3
>[EMAIL PROTECTED] ~]# vim +':s/3/e/g' +':wq' teste.txt
>[EMAIL PROTECTED] ~]# ls -i teste.txt; cat teste.txt
>2097220 teste.txt
>teste
>[EMAIL PROTECTED] ~]#
>
>
>--
>
>
>Flávio do Carmo Júnior



-

CONCLUSAO: "ed" OK, arquivo binário e inode

sedinode_tamanho__md5sum__
original___7551899541217849d2c502626e2595874681e4364fa
alterado___75518995712
revertido__7551899541217849d2c502626e2595874681e4364fa

Funcionou perfeitamente em um arquivo binário.
Uma cópia do sed foi usada como cobaia para dilaceração. :)
Subtituindo uma string por outra de tamanho diferente e na sequência
revertendo o processo.
Além da ótima postagem do Flavio Junior \o/, posteriormente olhei também esta
página: http://www.cs.utk.edu/~cs300/Sed/lecture.html




---  DETALHAMENTO DO TESTE COM O ed 
atenção: o programa aqui é o "ed", a cópia do sed é o arquivo manipulado

=
Não tinha o ed, tive de baixar da GNU, configure, make, e usei dalí mesmo.
Copiando e examinando a vítima binária:

[EMAIL PROTECTED]/tmp/ed-0.8$ cp -i /bin/sed .
[EMAIL PROTECTED]/tmp/ed-0.8$ ls -li sed
755189 -rwxr-xr-x 1 web  ppp 95412 2007-11-27 20:28 sed*
[EMAIL PROTECTED]/tmp/ed-0.8$ md5 sed
17849d2c502626e2595874681e4364fa  sed




Criando a função subst, só para sentir a praticidade: subst str1 srt2 file

[EMAIL PROTECTED]/tmp/ed-0.8$ \
subst(){ [ -e $3 ]&&/tmp/ed-0.8/ed -s $3<<<"1,\$s/$1/$2/g"$'\n'w;}




=
Listando a str1 (command) no arquivo:

[EMAIL PROTECTED]/tmp/ed-0.8$ strings sed|grep command
 add the script to the commands to be executed
 add the contents of script-file to the commands to be executed
 specify the desired line-wrap length for the `l' command
extra characters after command
missing command
command only uses one address
unterminated `s' command
unterminated `y' command
multiple `p' options to `s' command
multiple `g' options to `s' command
multiple number options to `s' command
number option to `s' command may not be zero
strings for `y' command are different lengths
unknown command: `%c'
invalid reference \%d on `s' command's RHS




Usando a função criada:

[EMAIL PROTECTED]/tmp/ed-0.8$ subst command '0123456789ABCDEFGHIJKLMOP:)' sed
Newline appended





Inspecionando o resultado:

[EMAIL PROTECTED]/tmp/ed-0.8$ strings sed|grep MOP
 add the script to the 0123456789ABCDEFGHIJKLMOP:)s to be execut
ed
 add the contents of script-file to the 0123456789ABCDEFGHIJKLMO
P:)s to be executed
 specify the desired line-wrap length for the `l' 0123456789ABCD
EFGHIJKLMOP:)
extra characters after 0123456789ABCDEFGHIJKLMOP:)
missing 0123456789ABCDEFGHIJKLMOP:)
0123456789ABCDEFGHIJKLMOP:) only uses one address
unterminated `s' 0123456789ABCDEFGHIJKLMOP:)
unterminated `y' 0123456789ABCDEFGHIJKLMOP:)
multiple `p' options to `s' 0123456789ABCDEFGHIJKLMOP:)
multiple `g' options to `s' 0123456789ABCDEFGHIJKLMOP:)
multiple number options to `s' 0123456789ABCDEFGHIJKLMOP:)
number option to `s' 0123456789ABCDEFGHIJKLMOP:) may not be zero
strings for `y' 0123456789ABCDEFGHIJKLMOP:) are different lengths
unknown 0123456789ABCDEFGHIJKLMOP:): `%c'
invalid reference \%d on `s' 0123456789ABCDEFGHIJKLMOP:)'s RHS

[EMAIL PROTECTED]/tmp/ed-0.8$ ls -li sed
755189 -rwxr-xr-x 1 web  ppp 95712 2007-11-27 20:30 sed*



==

Re: [shell-script] Script sai quando não devia

2007-11-27 Por tôpico mop
Realmente miguel, está muito complicado.

Eu trataria assim:
1. Colocaria um "set -x" no início do script
Ele vai encher tua tela, mas o que importa é achar o motivador da
saída que estará ao final e você poderá navegar com Shift+PgUp para
inspecionar

2. Se o anterior não resolver, fazer copia e reduzir a uma listagem de
2 programas apenas e achar o erro. Se não conseguir manda pra lista,
que daí fica mais fácil, preferencialmente com uma pista melhor

A técnica do "Jack" (londrino, se não me engano) é a melhor neste caso.


---
On 11/27/07, miguelcm86 <[EMAIL PROTECTED]> wrote:
> Boas pessoal
>
> Estou aqui com um problema e já dei voltas e voltas e não percebo o
> que se passa...
>
> É o seguinte tenho um script que cria um menu para escolher programas
> e depois instala-os automaticamente, o problema é que ele só instala
> um e não instala os outros, sai logo do ciclo:


Re: [shell-script] Re: trabalhando com linhas de arquivo ( e o sed -i ?)

2007-11-27 Por tôpico mop
Fiz exatamente o mesmo que você, e depois:

[EMAIL PROTECTED]/tmp$ xxd sed >sed.hx
[EMAIL PROTECTED]/tmp$ xxd sed.alt2 >sed.alt2.hx
[EMAIL PROTECTED]/tmp$ diff sed.hx sed.alt2.hx
5964c5964
< 00174b0:  
---
> 00174b0:   0a .
[EMAIL PROTECTED]/tmp$ ls -l sed sed.alt2
-rwxr-xr-x 1 web ppp 95412 2007-11-28 00:52 sed*
-rw-r--r-- 1 web ppp 95413 2007-11-28 00:53 sed.alt2
[EMAIL PROTECTED]/tmp$ tail -c4 sed|xxd
000:  
[EMAIL PROTECTED]/tmp$ tail -c4 sed.alt2|xxd
000:  000a

Parece-me que apenas está sobrando um newline ao final.
Incrível como uma coisa leva à outra. Esse é outro detalhe, não tenho
uma forma definida para checar diferenças complexas em arquivos
binários. Este pelo menos foi fácil, e naquele caso com o ed não foi
necessário.






On 11/27/07, Flavio Junior wrote:
> lazlo:~# awk '{gsub(/command/,"agoraehminhavezFLAVIO"); print}' sed > sed.alt
> lazlo:~# awk '{gsub(/agoraehminhavezFLAVIO/,"command"); print}' sed.alt > 
> sed.alt2
> Com awk o MD5 não bateu... talvez a forma que eu fiz não foi perfeita,
> quem puder contribuir é bem vindo.


Re: [shell-script] Idiomas diferentes no shell e no crontab?

2007-11-29 Por tôpico mop
O pessoal já te deu a dica da causa.

Para saber com certeza experimente colocar isto em algum ponto nesse escript:
set>>/tmp/zzzebra

Mas,
atualmente eu para condições pontuais costumo setar a condição para
comando exclusivamente. Justifico, às vezes o script é longo, pode
estar filtrando e dicidindo em função de mensagens de erro, ou de
saídas de programas/comandos e mudar a linguagem só por causa de um
detalhe podem gerar outras falhas.

Quando o caso é isolado, seto em linha, veja:

[EMAIL PROTECTED]/tmp$ date;LANG=pt_BR date;date
Thu Nov 29 16:38:04 hrV 2007
Qui Nov 29 16:38:04 hrV 2007
Thu Nov 29 16:38:04 hrV 2007
[EMAIL PROTECTED]/tmp$



---
Em 29/11/07, bossonaroesao06 escreveu:
>
>   Quando eu executo um script "na mão" ele me retorna a data em
> portugues mas se eu colocar ele pra ser executado na crontab ele
> retorna a data em ingles.
> Por que ocorre isso se o usuario da crontab é o mesmo do shell que eu
> to executando?
>
> executado crontab: Thu Nov 29 13:37:01 BRST 2007
> executado na mão : Qui Nov 29 13:37:48 BRST 2007


[shell-script] Re: Script sai quando não devia

2007-11-30 Por tôpico mop
Está certíssimo, quando ele sai do script adode.sh ele sai do case. O case
faz o que tiver na primeira entrada válida, nada mais. Se quiser diferente
terá de usar elif, ou outro esquema, mas eu não recomendo.

Por aquele script citado, agora ele já pode estar diferente, estava tudo ok, 
pois o case estava contido em um while ( nesse caso não precisa usar
parenteses, não sei sé é assim que se denomina por aí :) e será chamado 
sucessivamente até que as linhas da variável "escolhas" acabem e o while 
termine. Quem encerra o script é o while, não o case. A única explicação para 
um encerramento prematuro é a instrução exit, explícitamente registrada ou 
atomatizada com um "set -e" (exit ao primeiro erro).

O set -x mostrou isso. Aonde está aquele "cd ../.." seguido do "exit 0"?
Foi ali que o script foi encerrado! Aliás vejo tudo cheio de zeros para  
voltas. Isso não é legal. Só deve ser feito em casos muuito excepcionais. 
Veja o return que eu deixei abaixo, se você não usar o subscript como source já
vai dar erro. Para que o return? Se alí é o fim do script. Ah mas e se o
retorno não for zero? O script chamador é que tem que decidir o que fazer ou
se é para ignorar. O seu, pelo código, que olhei melhor agora, está ignorando,
o que é muito correto para o que quer fazer. Apenas o usuário deve ficar
ciente de falhas, mas o resto da instalação deveria continuar, acho.

Eu, em alguns casos costumo checar um parâmetro passado em linha de comando 
para acionar um debug. Uma idéia bem simples, se na linha de comando tiver um
"-d" faço dentro do script d=1, caso contrário a variável d não exite. Daí nos 
pontos que desejo ter um debug escrevo, por exemplo:
[ $d ]&&echo x=$x ou absolutamente o que quiser ou chamo funções, ou...
fica super fácil e não perturba quando não solicitada. Quero desligar aquele
ponto de debug e manter os outros, só coloco um "#" antes.

Será que aquele cd ../.. falhou? Acho que não, pois há um exit 0 depois. :)

É o que me ocorre de momento, espero que ajude. Qualquer coisa se manifeste.
Aaah, por que não coloca após cada subscript:
st=$?;[ $d ]&&echo scriptx status=$st
Pelo menos saberá se ele passou pelo ponto. :)
Para improvisar rápido, nem faça o esquema do -d, doloca direto:
echo scriptx status=$?

Finalmente algo óbvio, se houver um exit em um subscript e ele for chamado
como source, ou com um "ponto espaço, antes do nome" se tiver um exit o script
chamador termina, pois é por ele que aquele código está sendo executado, e
não em um subshell.

É isso, agora não me ocorre mais nada.



--
>From: "miguelcm86"

>Criando a base de dados de etiquetas...
>++ return 0
>+ read escolha
>+ cd ../..
>+ exit 0
>Portanto eu seleccionei todas as opcções, mas ele ficou só pela
>primeira que é o adobe.
>no script do adode.sh só tem estas linhas:
>-
>place=/home/miguel/install/Option/Base/ ##neste caso isto não é para nada
>
>sudo aptitude -y install acroread acroread-plugins mozilla-acroread
>acroread-escript
>
>return 0
>--
>usei o source e o return, mesmo assim ele quando saio, voltou ao
>inicio do ciclo e fez o "read escolha", não percebo porquê não
>continuo com a próxima palavra e finalizou o script.
>Vejam o código que está na primeira mensagem e digam-me o que acham.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


[shell-script] Re: Script sai quando não devia

2007-12-01 Por tôpico mop

Limpei e deixei o essencial na sua mensagem abaixo.
Sugiro que faça o mesmo se quiser que as pessoas leiam.
Tudo o que ocorre dentro dos subscript não tem importância,
a menos que a execução não retorne dele.

Perfeito, o set -x fez o serviço.
O que eu precisava saber está nestas duas linhas:
>+ read escolha
>+ cd ../..

Ou seja, o script sempre executou o read antes de sair, pelo menos nestes dois
testes relatados. Já ficou bem mais fácil. Eu arriscaria dizer que há reads
nesses scripts lendo a partir de fd0 (stdin) do MESMO terminal. Daí não
interessa onde estão, nem se são executados em subshell ou como source.

Retire o set -x, ele não vai mais ajudar, só atrapalhar.

antes do while escreva:
escolhas="$escolhas
1
2
3
4
5
6
7
8
9" # para ter mais entradas :)

Não tenho outra idéia para teste a não ser insirindo imediatamente antes do
"done":
echo -ne "\n$escolhas\n\nexecutado: |$escolha|  press enter";read<&2

Veja que estou usando um read dentro do  loop, mas não estou lendo o fd0 (&0).
Selecione todas as suas opções, quanto mais melhor.
Cada vez que o script chegar ao final do conteúdo do loop imprimirá a variável
usada e a lista. Se estiver com sorte deverá ver saltos durante a execução, ou
seja o ponteiro do read está sendo avançado nos subscripts, acarretando saltos
na lista das opções marcadas.

A seguir substitua o while por for, acho que o IFS está ok:
for escolha in $escolhas
#echo "$escolhas" | while read escolha

Reexecute. 

Não ponho minha mão no fogo pois a certeza não é 100%, mas eu arriscaria 99.
Aconteceu o que você queria?
Caso afirmativo estará confirmado, pode tentar verificar com:
grep 'read ' *
se existe o comando read nos seus subscripts, ou outros que eles chamem.

Recentemente eu postei sobre isso, inclusive com exemplo lendo os 3 fds do
shell, só que se não me engano o problema era exatamente o opstodo seu.

Não seja imediatista, substituindo o "while" pelo "for" e pronto.
Faça pelo menos a sequencia com a impressão da variável ou não fixará tão
bem esses detalhes.

Se der certo ainda economizou um tubo, o "|", além dos " ( ) ". :)



--
>From: "miguelcm86"

>+ read escolha
>+ case $escolha in
>+ . ./d4x.sh
>++ place=/home/miguel/install/Option/Base/
>++ sudo aptitude -y install d4x
>++ return 0
>+ read escolha
>+ case $escolha in
>+ . ./amule.sh
>++ place=/home/miguel/install/Option/Base/
>++ sudo aptitude -y install amule
>++ return 0
>+ read escolha
>+ cd ../..
>+ exit 0
>--
>segundo teste só instalou um programa, aqui imprimi a lista que
>seleccionei no xdialog:
>+ echo 'Firestarter
>AcetoneISO2
>IE4linux
>Audacity
>Kino
>Thunderbird
>Sunbird
>Dia
>K3b
>Skype
>KDE'
>+ read escolha
>+ case $escolha in
>+ . ./firestarter.sh
>++ place=/home/miguel/install/Option/Base/
>++ sudo aptitude -y install firestarter
>++ return 0
>+ read escolha
>+ cd ../..
>+ exit 0
>--
>isto por acaso já me tinha acontecido, uma hora dá uns poucos, outra
>hora só dá alguns ou 1...



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


[shell-script] Re: Script sai quando não devia

2007-12-01 Por tôpico mop
IMPORTANTE:
Achei melhor complementar, para ficar mais fácil ainda.

Considero o assunto fds importante, independente do resultado na
mensagem anterior.

Saber usar recursos disponíveis, mais ainda, assim aproveitando a
citação de passado que fiz, complemento com mais uma dica de uso
genérico, mas cujo exemplo cabe no caso.

Para achar algo que postei recentmente sobre file descriptors nesta
lista pode usar recursos do yahoo, 
http://br.groups.yahoo.com/group/shell-script/msearch_adv

colocando para autor
mop2
e para mensagem a curta, mas rara, sequencia de consoantes
fd

Acredito que não haja maneira mais fácil de chegar ao post passado
que citei na mensagem anterior.

Ler ajuda, mas o importante é viver, sentir. :)



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


[shell-script] Re: Script sai quando não devia

2007-12-03 Por tôpico mop
Não tem o que agraceder, foi uma satisfação poder ajudar.

Com certeza você achará muito sobre "file descriptor" nesta lista. Pedi
para você filtrar por autor para chegar à mensagem específica que eu
lembrava de ter postado algum tempo atrás. Tire o autor e provavelmente
você deverá ter muitas telas com "fd". Embora saiba da existência desse
recurso do yahoo não tenho experiência com ele. Terá que experimentar
o quanto é responsivo com substrings e caracteres não alfabéticos.
Para nós do shell, se ele não desprezar < > | & $ \ dentre outros, será
uma ferramenta fenomenal e onde o sistema padrão de busca do google não
poderia nos atender.

O melhor lugar para começar a procurar sobre o que pediu é simplesmente
via linha de comando, com:
man bash

Termos "sinônimos" para fds no shell, que me vêm à cabeça agora:
fd0 stdin &0 "entrada padrão" :P
fd1 stdout &1
fd2 stderr &2

echo 123 >zzz
Acabei de redirecionar o fd1, default no terminal = ecran (acho que é
isto) para ficheiro :) , e não tem nada da listinha acima.

Diria que o maior indicador de redirecionamento é a presença de pelo menos um 
destes caras: < > | << <<< >>
Mas veja, tudo isso acho que não teria ajudado naquele seu caso, onde nada
foi REdirecionado. A leitura ocorria naturalmente, no fd padrão.

Bem, o mais importante é que você retirou o read desse seu seletor, assim
ele está liberado para ser usado nos subs. Quem cuida dos subs que lembre 
disso, dentro deles, nos subs2, etc., mas se não deixar um read preso em um
loop não vai ter problema.

Saudações.



--
>From: "miguelcm86"
>Date: Sun, 02 Dec 2007 22:17:19 -
>
>Sinceramente estive a pesquisar e não encontrei muita coisa sobre
>"fd", aqui nos grupos só encontrei duas mensagens suas, e  no google,
>De facto nos sub scripts que chamava no aptitude ele recebe um
>argumento "-y" que diz para todas as perguntas ser yes, acho que nesse
>ponto, mesmo com este argumento "-y" ele deveria estar a ler o read e
>recebia pelo tubo "|" o que estava em $escolhas.
>Muito obrigado pela sua ajuda, só lhe pedia que se por acaso o fd
>tiver alguma nome mais especifico, que a dizesse (assim como o "." de



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Re: Criticas sobre a lista (ADMINISTRATIVA)

2007-12-03 Por tôpico mop
Acho que o Fábio não está querendo ocultar email dos demais membros.

Fiz esse reporte há muito tempo atrás, mas enviei para apenas um moderador e 
possivelmente a mensagem foi retida em algum filtro.

O detalhe ocorre na publicação, pelo que levantei na terceira resposta à
thread.
Por isso nas minhas mensagens sempre retiro o que está abaixo, ou quando não,
retiro o email da pessoa que estou respondendo e limpo o resto.
Acho que todos que lembrarem poderiam fazer isso ao postar. ;)
E se todos fizerem cada um só tem 1 vez, justamente o da pessoa a que
está respondendo.

Acabei de fazer um teste com advanced search do grupo, na mensagem:
%40gmail
Funciona, um dos resultados, onde o problema aparece claramente:
http://br.groups.yahoo.com/group/shell-script/message/24589

Talvez o sistema do yahoo só corte os dois primeiros [EMAIL PROTECTED], não sei.

Apesar disso, considero a publicação do conteúdo fundamental.

Felizmente, tenho um email que parece mais um erro. :)

Quando tiver um tempo vou ver se existe uma conta para geração dessa
ocultação para quem tem email externo ao yahoo.

Saudações.


--
>From: Eriberto
>Date: Mon, 3 Dec 2007 18:00:46 -0200
>
>Fábio, o problema é a configuração do Yahoo. Veja:
>
>Exibição do e-mail:Permitir que os associados ocultem seus endereços de
>e-mail das demais pessoas do grupo.
>Seu grupo não poderá usar o recurso Enquetes. Associados que ocultam seus
>endereços de e-mail do grupo não poderão enviar mensagens ao grupo via
>e-mail. Se você selecionar esta opção, NÃO será possível alterá-la depois.
>[]s
>
>Eriberto - www.eriberto.pro.br



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] SUID - Permissao Especial

2007-12-04 Por tôpico mop
Acho que esse lance do suid só funciona para executáveis binários.
Talvez você possa usar o sudo.

Eu acho que usaria inicialmente um compilador de script.
No site
http://www.datsi.fi.upm.es/~frosal/
o autor diponibiliza o pacote shc (script compiler).
Basta descompactar e terá o shc.

Coloque a chamada com senha no próprio script e daí você faz:
shc -f seuScript

Pronto, foi gerado um binário executável.
Dai você poderia pensar em suid, mas acho desnecessário.

Execute normalmente, mas usando o binário:
seuScript...

Para ficar mais tranquila pode tentar:
grep senha seuScript
para ver se há uma resposta positiva ou abrir em um editor de texto e dar
um find.

Tomara que venham outras sugestões, acho bem interessante essa questão
de poder executar sem de forma alguma poder ler conteúdos sensíveis.

Não tenho noção da reversibilidade disso ou do grau de segurança, mas
acredito que para o seu caso atenda plenamente.
Aliás o uso do shc poderia ser adicionalmente um "segredo" do dba.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] suprimir espaços

2007-12-12 Por tôpico mop

Para apagar todos os avanços de linha e espaços do arquivo:
tr -d ' \n' < ope_isco_enviaTCO_20071212_181519.spool

Colocando um new line ao final:
echo `tr -d ' \n' < ope_isco_enviaTCO_20071212_181519.spool`



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] SUID - Permissao Especial

2007-12-12 Por tôpico mop
Luciana,
acho que o Júlio já disse tudo, e com um simples make no dir do shc você
deverá saber se é possível obter um executavel do compilador para o seu
AIX de imediato.

Outros compiladores possíveis:
wzsh shell-lock shcomp ShellGuard
mas provavelmente encontrará dificuldades de algum tipo em todos.

===OFF=
Pode também tentar fazer um executável binário
- prog.c
#include 
char *script = "comandos para o shell";
main(){ int ret = system(script);}
--
compilando em seu sistema


Neste executável binário o comando não estará criptografado, mas acho que 
talvez consiga executá-lo em seu sistema com um arquivo com os atributos 
-x (ou x generalizado), já que não precisará ser lido por um 
interpretador. Aliás parece-me, era sua filosofia inicial.

Caso venha a usar uma solução nessa linha, não esqueça de colocar sempre
o path completo para o programa final, ou alguém coloca:
PATH=~:$PATH
e faz um script com o nome do seu programa alvo com:
echo $*
e daí...
Aliás, se não houver efeitos negativos, começar com um PATH="" é um bom
começo.

Independente de tudo, acho que seria interessante você contribuir para a
lista reportando os problemas e, principalmente, a solução adotada, já que
vejo com freqüência a citação da plataforma aix nesta lista. A sua necessidade 
é, essencialmente, a mesma de muitas outras e, quem sabe, a solução aplicável
em outras plataformas, linux ou não.

Sucesso!



--
>From: "Julio C. Neves"
>Date: Fri, 7 Dec 2007 23:39:58 -0200
>
>Olá Luciana,
>não creio que este compilador exista, e caso exista provavelmente será
>proprietário, assim como o AIX. Me lembro bem que te foram oferecidas
>diversas soluções além destas e vc não disse pq elas não serviam. Se
>dissesse, pode ser que pudéssemo contornar o problema.
>
>Eu não conheço este shc, mas se ele for livre, pegue o fonte e o recompile
>no AIX usando o cc que aí sim, vc poderá compilar o seu script.
>
>Atenção: para não perder seu tempo, aproveite que o script já foi compilado
>na sua casa faça o seguinte:
>
>strings /nome/do/executavel
>
>É provável que apareça o nome do usuário e sua senha.
>
>Feliz Natal
>Julio
>
>Em 07/12/07, Luciana Cruz
>>
>>   Pessoal,
>>
>> Outro dia postei meu problema e me foi sugerido a solução abaixo. Eu
>> baixei o compilador e realmente funcionou, mas no Centos (que tenho em
>> casa). O problema é que preciso fazer funcionar no AIX, venho tentando mas
>> sem sucesso. Hoje fiz outro teste, compilei no meu micro e levei o binário
>> para meu trabalho, mas não funcionou. Eu acredito que o problema esteja
>> relacionado ao compilador, mas como eu não posso alterar nada no sistema
>> operacional de lá, tipo o compilador, então gostaria de saber se há algum
>> compilador de shell-script para AIX.
>>
>> Obrigada,
>>
>> Luciana



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Agir sobre informações de um processo geradas em tempo de execução .

2007-12-13 Por tôpico mop
Experimente usar o shell:

2>&1 rhythmbox -d|while read m;do [ "$m" == "${m/Opening file:/}" ]||\
echo -e '\a i agora, break ???';done




Re: [shell-script] Permissão em arquivos

2007-12-13 Por tôpico mop
Veja se aparecem os comandos desejados:
find /dir -type d -exec echo chmod 755 {} \;

Se ok, tire o echo.

O outro type é f.



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Como sinalizo que um parametor, lido pela entrada padrão, terminou?

2007-12-14 Por tôpico mop
Essa sua questão não ficou muito clara e nem percebo de imediato a 
aplicabilidade do exemplo. Normalmente os parâmetros são passados na própria
linha de chamada do comando, que é finalizada com um return.

Se for uma questão do Pssor acho que pode responder que se a entrada
padrão vem do teclado poderia tentar finalizar segurando a tecla Ctrl e 
pressionando a tecla D. ;)

É melhor você testar antes no sistema alvo.
Para você não cair numa trap, não esqueça de listar as traps (com o comando
trap) de olho em 17, SIGCHLD.

Espero que alcance seu objetivo, ou se ficou alguma dúvida detalhe-a.
Ok, eu  posso ter me equivocado. ;)



--
>From: "andre.andrade1"
>Date: Fri, 14 Dec 2007 17:30:18 -
>
>Olá pessoal,
>
>Sou iniciante em shell e tenho uma duvida tosca...como eu sinalizo
>à um comando que terminei de passar os parametros atraves da entrada
>padrão?
>
>exemplo:
>$ cat
>arquivo.txt
># preciso sinalizar aqui que eu terminei de passar o parametro de
>entrada na stdin



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Como sinalizo que um parametor, lido pela entrada padrão, terminou?

2007-12-14 Por tôpico mop
EOF dá muito trabalho
melhor usar o terminador do protocolo smtp
e aproveitando para mostrar a naturalidade do SIGCHLD:

[EMAIL PROTECTED]/tmp$ trap 'echo sig 17' 17
[EMAIL PROTECTED]/tmp$ cat <<.
> 1
> 2
> 3
> .
1
2
3
sig 17
[EMAIL PROTECTED]/tmp$ 

Flavio, adicionalmente tô limpando teu email e aproveito pra limpá o meu. :p




--
>From: "Flavio Junior"
>Date: Fri, 14 Dec 2007 21:45:08 -0200
>
>Hm...
>
>Isso me cheirou a HERE DOCUMENTS ..
>
>De uma olhada:
>[EMAIL PROTECTED] ~]# cat <> aqui
>> eu vou
>> escrevendo
>> bem contente :D
>> qdo quero terminar
>> escrevo, no inicio da linha
>> a palavra ali do <> sozinha
>> EOF
>aqui
>eu vou
>escrevendo
>bem contente :D
>qdo quero terminar
>escrevo, no inicio da linha
>a palavra ali do <sozinha
>[EMAIL PROTECTED] ~]#
>
>
>Qualquer coisa diz ai..
>
>
>Flávio do Carmo Junior
>
>
>On Dec 14, 2007 9:22 PM, mop
>> Essa sua questão não ficou muito clara e nem percebo de imediato a
>> aplicabilidade do exemplo. Normalmente os parâmetros são passados na própria
>> linha de chamada do comando, que é finalizada com um return.
>>
>> Se for uma questão do Pssor acho que pode responder que se a entrada
>> padrão vem do teclado poderia tentar finalizar segurando a tecla Ctrl e
>> pressionando a tecla D. ;)
>>
>> É melhor você testar antes no sistema alvo.
>> Para você não cair numa trap, não esqueça de listar as traps (com o comando
>> trap) de olho em 17, SIGCHLD.
>>
>> Espero que alcance seu objetivo, ou se ficou alguma dúvida detalhe-a.
>> Ok, eu  posso ter me equivocado. ;)
>>
>>
>>
>> --
>> >From: "andre.andrade1"
>> >Date: Fri, 14 Dec 2007 17:30:18 -
>> >
>> >Olá pessoal,
>> >
>> >Sou iniciante em shell e tenho uma duvida tosca...como eu sinalizo
>> >à um comando que terminei de passar os parametros atraves da entrada
>> >padrão?
>> >
>> >exemplo:
>> >$ cat
>> >arquivo.txt
>> ># preciso sinalizar aqui que eu terminei de passar o parametro de
>> >entrada na stdin



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Permissões variadas

2007-12-15 Por tôpico mop
Não vejo que exista nativamente no sistema operacional os recursos
para fazer o que deseja, que seria em essência todas as combinações
possíveis de permissões aplicadas entre grupos e arquivos. Vamos ao ao
maior universo mencionado, que parece ter cinco grupos, sendo o quinto 
constituído pelos usuários que não perctencem a nenhum do quatro 
especificados.

Dentro de aplicações você, escrevendo a aplicação, pode fazer o que quiser.
Se o usuário souber onde estão os arquivos e tiver direitos via sistema
operacional ele pode burlar isso.
Igualmente o usuário do SO está limitado pelo sistema, como ele foi escrito e
pelos direitos que o administrador concedeu, mas se você descer abaixo e
puder acessar diretamente o dispositivo que guarda os arquivos também poderá 
burlar as limitações que possue no SO.

Não vejo uma solução genérica para a questão colocada, mas como ela parece
estimulante, uma vez percebida uma aplicabilidade prática, que vá além da
simples verificação das combinações possíveis de um conjunto de bits, eu
com certeza pensaria a respeito. Em termos práticos, falando de um
executável (não interpretado), por que o grupo B precisaria poder ler? Quer
dizer, parece-me que nesse caso (dos 5 grupos) o velho sistema de três
entidades atende efetivamente a realidade que consigo imaginar.

Não consigo perceber o que estou deixando escapar.



--
>de maneira parecida, em outro conjunto de arquivos, gostaria das seguintes
>permissoes:
>grupo A: ler, escrever, executar
>grupo B: ler, executar
>grupo C: executar
>grupo D: nenhuma permissao



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


[shell-script] Re: Substituindo texto em arquivos

2007-12-15 Por tôpico mop
Depois do "s" o próximo caractere é o separador, poderia ser ",".

Quanto ao '\n' isso sempre foi problemático para mim.
Basta trocar a versão/origem do sed e coisas inesperadas acabam acontecendo.

Como não esqueci a dica que recebi aqui na lista para uso do "ed" e como já 
tenho uma funçãozinha com ele para substituições /g acho que na próxima
necessidade iria usá-la.


--
>From: "olivier.voutat"
>Date: Sat, 15 Dec 2007 20:06:11 -
>
>Blz Júlio,
>
>mas indo mais longe na complexidade, se a string a ser substituída
>tiver / como contornar isso? Tentei rudimentarmente usar " ou duplicar
>os // mas nada feito.
>
>Pensando até mais longe, se eu quiser substituir um texto por um texto
>de duas linhas, eu uso
>para retorno de linha?
>
>-10 graus ainda não graças à Deus mas já estamos à ~-1 -2 graus. Pense
>que foi o maior fator que me impedia de voltar para cá. Odeio frio.
>
>Abraços,
>Olivier



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Permissões variadas

2007-12-15 Por tôpico mop
Opa Julio,
a questão dos bits que me referi não é sobre seta-los no arquivo, mas sim
a sua efetividade quanto a direitos/segurança "imaginados" para esse arquivo.

Comentei sobre a lista 2 (maior) citada pelo Salhab, mas depois me ocorreu
que a lista 1 era menor, mas fazia sentido. Seria algo típico realizado 
por ferramentas de fluxo de documentos, com níveis hierarquicos/sequenciais.

Um caso simples, imaginemos que há uma máquina com muitas dezenas de usuários 
em um departamento, três dezenas de pessoas trabalham no projeto Z, sendo que
2 dezenas (grupo B) precisam consultar documentos para realizar o trabalho
delas e a outra dezena (grupo A) trabalha realmente na concepção do projeto, 
precisando escrever nestes documentos. É um projeto sigiloso e o restante 
das pessoas não pode ter acesso.

Como o Salhab disse:
grupo A: ler, escrever
grupo B: ler

Isso poderia ser feito usando o conceito de grupos, sem usar o sudo para um 
user assumir a identidade de outro user?

Outra coisa Júlio, 
você não tinha lançado um wiki para shell-script?
Estou quase certo que depois, isso já faz tempo, você disse na lista que o
wiki tinha sido encerrado.
Esse do link é o sucessor?
Sabe de outros?




--
>From: "Julio C. Neves"
>Date: Sat, 15 Dec 2007 21:58:48 -0200
>
>Fala Mop,
>dá uma olhada no Papo de
>Botequim<https://twiki.softwarelivre.org/bin/view/TWikiBar/TWikiBarBirinaite#Rotat%25F3rio_Peczenyj>,
>que lá tem um exemplo, usando uma lógica postada pelo Tiago que peguei na
>lista e que faz exatamente o que vc diz que não tem como fazer em poucas
>linhas. Veja:
>
>$ A={`seq -s , 0 7`}
>$ eval echo -e $A$A$A | tr ' ' '
>' | xargs -i bash -c "chmod {} arq; ls -l
>arq"
>-- 1 julio julio 100 2006-11-27 11:50 arq
>-x 1 julio julio 100 2006-11-27 11:50 arq
>w- 1 julio julio 100 2006-11-27 11:50 arq
>wx 1 julio julio 100 2006-11-27 11:50 arq
>---r-- 1 julio julio 100 2006-11-27 11:50 arq
>---r-x 1 julio julio 100 2006-11-27 11:50 arq
>---rw- 1 julio julio 100 2006-11-27 11:50 arq
>---rwx 1 julio julio 100 2006-11-27 11:50 arq
>.. . . . . . . . . . . . . . . . . .
>-rwxrwxrw- 1 julio julio 100 2006-11-27 11:50 arq
>-rwxrwxrwx 1 julio julio 100 2006-11-27 11:50 arq
>
>Para entender vá ao link acima, pois lá está esmiuçado, e aproveite para
>tomar um chope por conta da casa. :)
>
>Agora qto ao cara que perguntou: o que define se um arquivo é do grupo A, B,
>C, ..., Z? Se for um pedaço do nome do arquivo, como eu suponho, é fácil.
>Veja:
>
>$ ls *Grupo_A* | xargs chmod nnn
>
>Neste caso bastando substituir o "Grupo_A" e o "nnn"
>
>Abração,
>Julio
>
>
>
>Em 15/12/07, mop <[EMAIL PROTECTED]> escreveu:
>>
>> Não vejo que exista nativamente no sistema operacional os recursos
>> para fazer o que deseja, que seria em essência todas as combinações
>> possíveis de permissões aplicadas entre grupos e arquivos. Vamos ao ao
>> maior universo mencionado, que parece ter cinco grupos, sendo o quinto
>> constituído pelos usuários que não perctencem a nenhum do quatro
>> especificados.
>>
>> Dentro de aplicações você, escrevendo a aplicação, pode fazer o que
>> quiser.
>> Se o usuário souber onde estão os arquivos e tiver direitos via sistema
>> operacional ele pode burlar isso.
>> Igualmente o usuário do SO está limitado pelo sistema, como ele foi
>> escrito e
>> pelos direitos que o administrador concedeu, mas se você descer abaixo e
>> puder acessar diretamente o dispositivo que guarda os arquivos também
>> poderá
>> burlar as limitações que possue no SO.
>>
>> Não vejo uma solução genérica para a questão colocada, mas como ela parece
>> estimulante, uma vez percebida uma aplicabilidade prática, que vá além da
>> simples verificação das combinações possíveis de um conjunto de bits, eu
>> com certeza pensaria a respeito. Em termos práticos, falando de um
>> executável (não interpretado), por que o grupo B precisaria poder ler?
>> Quer
>> dizer, parece-me que nesse caso (dos 5 grupos) o velho sistema de três
>> entidades atende efetivamente a realidade que consigo imaginar.
>>
>> Não consigo perceber o que estou deixando escapar.
>>
>>
>>
>> --
>> >de maneira parecida, em outro conjunto de arquivos, gostaria das
>> seguintes
>> >permissoes:
>> >grupo A: ler, escrever, executar
>> >grupo B: ler, executar
>> >grupo C: executar
>> >grupo D: nenhuma permissao
>>
>>
>>
>> --

Re: [shell-script] Lixeira restaurável

2007-12-22 Por tôpico mop
ff9will, 
para ter a resposta sugiro que no seu script escreva:  
echo "\$* = $*" >>/tmp/problem
mv ...  2>>/tmp/problem # redirecione a saída da sua linha do mv

Abra um xterm e escreva:
tail -f /tmp/problem

Pronto, agora já pode fazer o que estava fazendo e acompanhando no terminal
a execução dos comandos. Acho que pelas mensagens de erro deverá saber
como proceder para a solução.

Adicionalmente pode acrescentar linhas como:
echo whoami=`whoami` >>/tmp/problem
echo pwd=`pwd` >>/tmp/problem

sempre redirecionando para o seu ponto de observação.




-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Lixeira restaurável

2007-12-22 Por tôpico mop
Ocorreu-me agora:
talvez possa usar um alias, algo assim:
alias rm=mv...

Bem, acho que isso não é possível, devido ao destino, mas talvez possa
criar um script "rm", com precedência no path desse aplicativo, com o
conteúdo:
mv -i * /your/trash

Acho que a dica anterior poderá te levar a idéias aqui.
O ideal seria você redirecionar toda a saída do script para o ponto de
observação.

Sucesso!



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Problema com Leitura de Arquivo |while read e cut -c

2008-01-04 Por tôpico mop

Você tem de colocar aspas no seu echo i, assim:
echo "$i"

Pode também tentar com shell apenas:

while read i;do
DADO1=${i:0:10}
DADO2=${i:10:10}
DADO3=${i:20:10}
DADO4=${i:30:10}

echo "INICIO"
echo "$DADO1"
echo "$DADO2"
echo "$DADO3"
echo "$DADO4"
echo
echo "$i"
:
donehttp://www.listas-discussao.cjb.net
-
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 


Re: [shell-script] Montar o nome da variavel dinamicamente

2008-01-04 Por tôpico mop

[EMAIL PROTECTED]/tmp$ cat /tmp/script
1
[EMAIL PROTECTED]/tmp$ VAR1='Meu teste'
[EMAIL PROTECTED]/tmp$ eval "MEU_ECHO=\$VAR$(cat /tmp/script)"
[EMAIL PROTECTED]/tmp$ echo "$MEU_ECHO"
Meu teste




  1   2   >