← Back to team overview

sslug-teknik team mailing list archive

Re: bash - hent input fra stdin ?

 

On Tue, Jun 24, 2003 at 18:01:42 +0200, Brian Ipsen wrote:

> > Et skud fra hoften, men det ser ud til at virke:
> >
> > VAR=`cat`
> >
> > "cat" læser stdin indtil EOF, og spytter det ud igen. Så det skulle
> > lægge hele filen i VAR.
> >
> > Om det så er den nemmeste måde at håndtere en mail på skal jeg lade
> > være usagt ...
> 
> Det lader til, at formatteringen bliver ødelagt...

hvad med en løkke i bash der indlæser mail i en array?
(en linie per array element?)
Ideelt er det dog ikke med "read" til dette formål,
se bash(1) under afsnittet SHELL BUILTIN COMMAND
I det hele taget indeholder "man bash" alt hvad man har brug for
(i koncentreret form)....


#!/bin/bash

IFS=$'\n' # set IFS to newline
N=0
declare -a MSG
#indlæs input:
while read -a MSGLN
do
  MSG[$N]="${MSGLN[0]}"
  let N=N+1
done

# uskriv inlæste med linienummer foran:
CNT=0
while [ $CNT -lt $N ] ; do
  echo "$CNT: ${MSG[$CNT]}"
  let CNT=CNT+1
done





-- 
mvh Frank Damgaard  | 



References