The UNIX and Linux Forums  


Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
ler dados XML via Shell Script freepal Programação Shell Script e 1 02-08-2008 11:52
Shell Script - problema leitura barra (\)! rossi143 Programação Shell Script e 2 04-04-2007 03:52
leitura de saída de comando shell script Sri b Programação Shell Script e 4 11-16-2006 12:52
Ajuda: erro na leitura de stdin zhshqzyc Alto Nível de programação 5 09-25-2006 04:58
Lendo uma tabela em um shell script luiscarvalheiro Programação Shell Script e 13 08-10-2006 07:16

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 09-11-2008
mmesford mmesford is offline
Usuário
  
 

Join Date: Sep 2008
Local: Seattle
Posts: 4
a leitura a partir de stdin num shell script

Olá,

Eu consegui pegar a minha. Procmailrc arquivo para o trabalho. Pelo menos ele aciona um script que gera um arquivo. Mas o arquivo está vazio. Como faço para obter os dados que tem sido conduzido? Já fiz muito criativo googling sem proveito. I belive convém em stdin, mas eu não posso descobrir como acessá-lo.

Obrigado
Mike
  #2 (permalink)  
Old 09-12-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderador
  
 

Join Date: Sep 2007
Local: Alemanha
Posts: 2.311
Quando o procmail passa-lo através da canalização para o seu script, o script poderá olhar como por exemplo:

Código:
while read LINE; do
   echo ${LINE}    # do something with it here
done

exit 0

Não sabe como seu script parece que você não mostrá-lo para nós.
  #3 (permalink)  
Old 09-17-2008
mmesford mmesford is offline
Usuário
  
 

Join Date: Sep 2008
Local: Seattle
Posts: 4
Graças Zaxxon,

Eu já havia tentado variações dessa. Eu realmente não tenho nada para postar, porque eu estava preso desde o início. Acontece que o problema é com a minha compreensão do procmail desde o seu código funciona perfeitamente se eu pipe para o meu script de outro script. Aqui está o procmailrc se alguém tiver algum conhecimento destas coisas:

: 0 b
| $ HOME / test.sh

O meu entendimento é que este deve tubo no corpo do e-mail para o script test.sh. Tal como está agora, o script é disparado, mas lá não parece ser nada encanada. Eu usei a sua sugestão de um script chamado "test.sh":

enquanto lê LINE; fazer
echo $ (linha)> t.log
feito

exit 0

se eu escrever um pequeno script que diz:

echo "teste"

t.sh como salvá-lo e executá-lo na linha de comando como este:

. / t.sh |. / test.sh

t.log então o arquivo é criado e contém a linha:

teste

Se me enviar um e-mail para esta caixa de script test.sh é desencadeada t.log mas o arquivo contém apenas uma linha em branco. Isso é onde eu estou e em que isso não é um fórum procmail, mas nenhuma ajuda será apreciada.
  #4 (permalink)  
Old 07-03-2009
desembarque disem is offline
Usuário
  
 

Join Date: Jul 2009
Posts: 1
mantê-la gente simples ..



Código:
#!/bin/sh
# Converts all lowercase text from
# stdin to uppercase
#
tr '[:lower:]' '[:upper:]' < /dev/stdin

# edward
# ebaddouh@gmail.com

você deve ligar para o script como segue:


Código:
$ echo "keep it simple" | myscript.sh
KEEP IT SIMPLE

felicidades
  #5 (permalink)  
Old 07-04-2009
kshji's Avatar
kshji kshji is offline
Usuário
  
 

Join Date: Jun 2009
Localização: Finlândia
Lugares: 236
Tente próxima cmdline, script chamador definir a saída, o script apenas ler e escrever a partir de stdin para stdout.

Código:
| $HOME/myscript.sh > $HOME/my.log

E myscript.sh, incluindo também a ex. para definir maiúsculas sem comando externo (por exemplo, TR). Também não preciso dizer entrada, se for stdin.

Código:
#!/usr/bin/ksh
typeset -u input
while read  input
do
     print "$input"
     # if you like to add line to some file, then
     # print some >> somefile
     # single > is overwrite = file include only the lastline
done

Mas se você gosta de colocar todos ao mesmo tempo de saída para o arquivo, em seguida,>> deve ser feito após o fim do tempo \u003d cmd.

Código:
while read line
do
     print some
done >> outfile
# or ex. done | outpipecmd > outfile
# all output, which are done between do-done goto outfile

Script são mais genéricos, se script ler e escrever a partir de stdin sdtout. Chamador fazer para definir entrada e saída. Toda a ideia de sistemas * nix / comandos - io-redirecionamento e canos.
Reply

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 03:22.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0