The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
behandlingen XML datas via Shell Script freepal Shell-programmering och Skript 1 02-08-2008 11:52
Shell Script - problem behandlingen snedstreck (\)! rossi143 Shell-programmering och Skript 2 04-04-2007 03:52
behandlingen command output från shell script Sri b Shell-programmering och Skript 4 11-16-2006 12:52
Hjälp: fel vid läsning från stdin zhshqzyc High Level Programming 5 09-25-2006 04:58
Läsa en tabell i ett shell script luiscarvalheiro Shell-programmering och Skript 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 Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 09-11-2008
mmesford mmesford is offline
Registered User
  
 

Join Date: Sep 2008
Ort: Seattle
Inlägg: 4
att läsa från stdin i ett shell script

Hej,

Jag har lyckats få min. Procmailrc fil till arbete. Åtminstone det utlöser ett skript som skapar en fil. Men filen är tom. Hur får jag tag på den data som har varit ledas? Jag har gjort mycket kreativ googling utan resultat. I belive ska det vara i stdin, men jag kan inte räkna ut hur man kan få det.

Tack
Mike
  #2 (permalänk)  
Old 09-12-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderator
  
 

Join Date: Sep 2007
Ort: Tyskland
Inlägg: 2.289
När procmail skickar den via röret till ditt manus, kan skriptet se ut till exempel:

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

exit 0

Inte säker på hur skriptet ser ut som du inte visa det för oss.
  #3 (permalänk)  
Old 09-17-2008
mmesford mmesford is offline
Registered User
  
 

Join Date: Sep 2008
Ort: Seattle
Inlägg: 4
Tack Zaxxon,

Jag hade försökt varianter av det. Jag har egentligen inte något att lägga upp eftersom jag var fast i början. Det visade sig att problemet med min förståelse för procmail sedan din kod fungerar bra om jag rör till mitt manus från en annan script. Här är procmailrc om någon har någon kännedom om det här:

: 0 B
| $ HOME / test.sh

Min uppfattning är att detta ska röret brödtexten i e-post till skriptet test.sh. Som det ser ut just nu, är skriptet utlöses, men det verkar inte vara något ledas. Jag har använt ditt förslag i ett manus som heter "test.sh":

samtidigt läsa LINE; göra
echo $ (line)> t.log
gjord

exit 0

om jag skriver ett litet skript som säger:

echo "test"

spara den som t.sh och köra den på kommandoraden så här:

. / t.sh |. / test.sh

kommer filen t.log skapas och innehåller raden:

test

Om jag skickar ett mail till brevlådan skriptet test.sh utlöses men filen t.log endast innehåller en tom rad. Det är där jag är på och jag inser att detta inte är en procmail forum, men någon hjälp kommer att uppskattas.
  #4 (permalänk)  
Old 07-03-2009
disem disem is offline
Registered User
  
 

Join Date: Jul 2009
Inlägg: 1
keep it simple folk ..



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

# edward
# ebaddouh@gmail.com

Du borde ringa ditt manus på följande sätt:


Kod:
$ echo "keep it simple" | myscript.sh
KEEP IT SIMPLE

skål
  #5 (permalänk)  
Old 07-04-2009
kshji's Avatar
kshji kshji is offline
Registered User
  
 

Join Date: juni 2009
Ort: Finland
Inlägg: 236
Prova nästa cmdline, ställa script ringer produktionen, manus bara läsa från stdin och skriva till stdout.

Kod:
| $HOME/myscript.sh > $HOME/my.log

Och myscript.sh, däribland också hur ex. ställa versal utan externa kommandot (ex. tr). Heller inget behov att berätta ingång, om det är stdin.

Kod:
#!/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

Men om du vill lägga all medan produktionen till fil då>> måste ske efter \u003d slut medan cmd.

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

Script är mer allmän, om skriften läsa från stdin och skriva till sdtout. Caller att definiera för input och output. Hela tanken med * nix system / kommandon - IO-omdirigering och pipes.
Reply

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 01:34.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0