MARS + pipe filesystem (naposledy)

Miroslav BENES mbenes na tenez.cz
Středa Červen 6 12:48:52 CEST 2001


Preji krasny den a prosim jeste jednou vsechny pritomne o pomoc.
Poznamka : uvitam i nadbytecny cat, pokud pomuze !!!

Rozchodil jsem po chvili tapani pipe-filesystem nad mars-em. Ovladani 
je nasledujici (klient = take linux) :

cat soubor.ps >/mnt/server/ps-pdf
cat >soubor.pdf </mnt/server/ps-pdf

... kde /mnt/server je misto, kde je pomoci ncpmount pripojem 
mars-ovy server s pipe-filesystemem a "ps-pdf" je obluzny skript na 
tomto serveru.

TAKTO TO CHODI PODLE MYCH PREDSTAV A FUNGUJE TO DOBRE.


Otazka : Jak se da totez dosahnout z DOSu ?

Na DOSu neni prikaz "cat" (pokud ano, opravte me prosim). Pomoci 
prikazu "copy" totez nejsem schopen dosahnout. takze JAK SE DA UDELAT 
"CAT" POD DOSEM ?

Nejjednodussi je pouzit (na o: je namapovany pipe-filesystem) :
copy /b  test.ps     o:\ps-pdf.
copy /b  O:\ps-pdf.  test.pdf

Prvni prikaz udela co ma (preda data na linuxvy server beze zmeny), 
ale druhy nacte jen 512 B. PROC ????



Zkusil jsem sesmolit vlastni "cat" :

#include <stdio.h>
int main( )
{
 int c;
 while (! ( EOF == ( c = fgetchar() ))) fputchar ( c ) ;
}

Jenze takto definovany "cat" ma dve nevyhody. Kdyz zapisuji (na 
mars-ovsy skript):

cat <test.ps >o:\ps-pdf

zmeni se obsah preneseneho suboru. Misto 218383 
ma 221486 B. IMHO je problem v tom, ze jde o binarni soubor a dela 
se konverze LF -> CRLF. Co se s tim da delat ? Urcite me dokazete 
poradit (aspon soukrome).

Druhy problem je pri cteni ze skripu mars-e (streamu) a ukladani dat 
do souboru v DOSu. Prikaz 

cat.exe <o:\ps-pdf >test.pdf

take provadi nechtenou konverzi a na rozdil od prikazu "copy ..." mi 
precte jen 129 B !!


Budu vdecny za kazde nakopnuti.




--------------------------
Miroslav BENES
E-mail   : mbenes na tenez.cz
TENEZ Chotebor, a.s
--------------------------


Další informace o konferenci Linux