[ LUGOS ] pisanje na datoteko iz shell skripte
Andrej Komelj
andrej.komelj na guest.arnes.si
Pon Mar 13 00:49:33 CET 2000
> Kako se v shell skripti odpre datoteko z dolocenim imenom, pise
> nanjo (brez prepisovanja) in nato zapre? (exec?)
exec [file_descriptor]>> ime_datoteke
echo bruhaha >&[file_descriptor]
> Redirekcija stdouta mi ni vsec, ker bi rad pisal na vec kot eno
> datoteko hkrati.
IMHO je to najlazji nacin. Na vec datotek lahko potem pises s pomocjo
programa tee.
Recimo:
#!/bin/sh
PRVA=prva
DRUGA=druga_datoteka
exec 3>> $PRVA
exec 4>> $DRUGA
echo na stdout
echo na stderr >&2
echo na prvo >&3
echo na drugo >&4
echo na prvo in drugo | tee -a $PRVA >&4
{
echo tole
echo vse
echo potuje
echo v prvo datoteko
} >&3
echo pa se malo na stdout
{
echo in na
echo obe
echo datoteki
echo hkrati
} | tee -a $PRVA >&4
--- snip ---
Seveda je v primeru tee-ja tisto caranje s "file descriptorji" povsem
nepotrebno. Najbolje, da navajas kar imena:
{ echo bla; echo blu; } | tee -a $PRVA >> $DRUGA
--
Andrej.
... Never mind the oxygen - this man's a donor.
Dodatne informacije o seznamu Starilist