buffering pipes

V13 v13 at priest.com
Mon Apr 16 17:20:14 EEST 2007


On Monday 16 April 2007 16:35, Nick Demou wrote:
> On 4/16/07, Giorgos Keramidas <keramida at ceid.upatras.gr> wrote:
> > [...]
> > Ένας πιο portable τρόπος για temporary filename είναι:
> >     [...]
> >
> > Αυτό θα παίξει σωστά και σε BSD/Solaris, που δεν έχουν virtual file με
> > όνομα /proc/sys/kernel/random/uuid, και θα σβήσει το temporary file όταν
> > τελειώσει (ή τερματιστεί με INT, HUP, ή TERM signal).
>
> ευχαριστώ, τα shell scripts σου είναι όπως πάντα άψογα. Το κακό είναι
> ότι έκανες το script τόσο καλό που πλέων δεν θέλω να το γράψω σε
> python. Οπότε πάμε σε μια ακόμα απορία όσον αφορά αυτό το κομμάτι του
> script:
>
>     while read BUFFER
>     do
>         echo "$BUFFER" >> $TMPF
>     done

Dokimase na baleis to parakato anti gia to parapano:

cat > $TMPF

ara thes:
cat << _KOKO > koko.sh
#!/bin/sh

TMPDIR=${TMPDIR-/tmp}

T=`mktemp $TMPDIR/KOKO-XXXXXXXX`
cat > $T
cat $T | my_koko
rm -f $T
_KOKO

bebaia den kanei trap ta signals gia na sbisei to tmpfile, alla efoson exeis 
to /tmp soy se tmpfs h to katharizeis se kathe reboot, kati tetoio den einai 
problima.

  Episis, enistame sthn protasi toy Giorgoy dioti:
a) To universal meros gia tmp arxeia einai to /tmp.
b) To /var/tmp prepei na xrhsimopoieitai mono gia peristant tmp arxeia.

  Telos, an to ekana gia emena, tha ekana apla:

T=/tmp/koko.$$
cat > $T
cat $T | my_koko
rm -f $T

<<V13>>




More information about the Linux-greek-users mailing list