buffering pipes

Giorgos Keramidas keramida at ceid.upatras.gr
Mon Apr 16 17:13:34 EEST 2007


On 2007-04-16 16:35, Nick Demou <ndemou at gmail.com> 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
> 
> υπάρχει περίπτωση ένα 8bit input stream να αλλοιωθεί από αυτόν τον
> κώδικα (π.χ. αν έχει περίεργους χαρακτήρες, αν τελειώνει σε cr-lf αντί
> για lf κτλ)?

Η πιθανότητα είναι ελάχιστη. Μιλάμε για UNIX.  Τα πάντα είναι 'data' :)

Αν θέλεις να είσαι Σωστός(ΤΜ) όμως, θα πρέπει να το κάνεις με read() /
write() ή κάτι αντίστοιχο.  Το newline interpretation που θα κάνει το
shell στο παραπάνω είναι λίγο, χμ, «όχι ακριβώς του γούστου μου» ας
πούμε...




More information about the Linux-greek-users mailing list