The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
læsning XML oplysningerne via Shell Script freepal Shell Programmering og Scripting 1 02-08-2008 11:52 AM
Shell Script - problem læsning backslash (\)! rossi143 Shell Programmering og Scripting 2 04-04-2007 03:52 AM
læsning kommando output fra shell script Sri b Shell Programmering og Scripting 4 11-16-2006 12:52 AM
Hjælp: Fejl ved læsning fra stdin zhshqzyc Højtstående Programmering 5 09-25-2006 04:58 PM
Læsning af en tabel i et shell script luiscarvalheiro Shell Programmering og Scripting 13 08-10-2006 07:16 PM

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øg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 09-11-2008
mmesford mmesford is offline
Registreret Bruger
  
 

Join Date: Sep 2008
Location: Seattle
Stillinger: 4
læsning fra stdin i et shell script

Hej,

Jeg har formået at få min. Procmailrc fil til at arbejde. Mindst det udløser et script, der opretter en fil. Men filen er tom. Hvordan får jeg fat på de data, der har været ledningsnet? Jeg har gjort meget kreative googling til ingen nytte. Jeg Tro det bør være i stdin, men jeg kan ikke finde ud af, hvordan man får det.

Tak
Mike
  #2 (permalink)  
Old 09-12-2008
zaxxon's Avatar
zaxxon zaxxon is online now Forum Staff  
Moderator
  
 

Join Date: Sep 2007
Location: Tyskland
Stillinger: 2323
Når procmail passerer det via rør til dit script, kan dit script ser således ud for eksempel:

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

exit 0

Ikke sikker på, hvordan din skrift ser ud, som du ikke vise det til os.
  #3 (permalink)  
Old 09-17-2008
mmesford mmesford is offline
Registreret Bruger
  
 

Join Date: Sep 2008
Location: Seattle
Stillinger: 4
Takket Zaxxon,

Jeg havde prøvet variationer af det. Jeg har egentlig ikke noget at skrive, fordi jeg blev stukket i begyndelsen. Viser sig, at problemet er med min forståelse af procmail siden din kode virker fint, hvis jeg røret til mit script fra en anden skrift. Her er den procmailrc hvis nogen har nogen viden om det her:

: 0 b
| $ HOME / test.sh

Min forståelse er, at dette bør rør selve e-mailen til scriptet test.sh. Som det ser ud lige nu, scriptet er udløst, men der synes ikke at være noget via rørledninger. Jeg har brugt dit forslag i et script der hedder "test.sh":

mens læse LINE; gøre
echo $ (linje)> t.log
gjort

exit 0

hvis jeg skrive et lille script, der siger:

echo "test"

gemme det som t.sh og køre det på kommando linje som denne:

. / t.sh |. / test.sh

derefter filen t.log er oprettet og indeholder linjen:

test

Hvis jeg sender en email til denne postkasse scriptet test.sh udløses men filen t.log indeholder kun en tom linje. Det er når jeg er på, og jeg er klar over dette er ikke en procmail forum, men helst hjælp vil blive værdsat.
  #4 (permalink)  
Old 07-03-2009
disem disem is offline
Registreret Bruger
  
 

Join Date: Jul 2009
Stillinger: 1
holde det simple folk ..



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

# edward
# ebaddouh@gmail.com

du skal kalde dit script som følger:


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

skål
  #5 (permalink)  
Old 07-04-2009
kshji's Avatar
kshji kshji is offline
Registreret Bruger
  
 

Join Date: Jun 2009
Location: Finland
Posts: 236
Prøv næste cmdline, script opkalds indstille produktionen, script kun læse fra stdin og skriver til stdout.

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

Og myscript.sh, herunder også hvordan man ex. at sætte store bogstaver uden ekstern kommando (ex. tr). Heller ikke behov for at fortælle input, hvis det er stdin.

Code:
#!/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 hvis du har lyst til at lægge alle, mens output til fil så>> skal være efter ske \u003d udgang, mens cmd.

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

Script er mere generisk, hvis scriptet læse fra stdin og skrive til sdtout. Opkalds at definere for input og output. Hele idéen med * nix systemer / kommandoer - io-omdirigering og rør.
Reply

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 03:46 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0