[linux] Re: charter

Paul Slootman paul+nospam op wurtel.net
Vr mei 27 14:22:08 CEST 2005


On Fri 27 May 2005, Daniel C. von Asmuth wrote:
> 
> Deze stuurtekens zijn nodig voor lineprinters. Als je een ASCII file wilt
> printen (bijv met cat brief.txt >/dev/lp0) onder Unix dan krijg je problemen
> als de Carriage Returns ontbreken. (onder Linux gebruik je vaak Ghostscript).

Daarvoor is stty opost onlcr uitgevonden :)
Het wordt dan:
    (stty opost onlcr < /dev/lp0; cat brief.txt) > /dev/lp0
De subshell is nodig omdat de device opengehouden moet worden, anders
vallen de stty settings weer terug op de defaults.

Verder moet het device voor input geopend worden bij stty, zodat je
alleen settings kan veranderen als je ook mag lezen. Bij b.v. terminal
devices is het vaak wel toegestaan om te schrijven naar anderman's
terminal (denk aan het commando write; da's nu wel setgid tty, maar
vroeger niet). Echter, om te mogen lezen mag meestal niet; het is een
groter risico, denk aan iemand die "cat /dev/ttyX > txt" doet op het
moment dat de gebruiker op /dev/ttyX net z'n GPG password wilt intikken.

> Wat u vergeten bent te vermelden is dat CP/M ASCII bestanden een <CTRL-Z> 
> gebruiken om het einde van de tekst aan te geven (CP/M weet niet tot op de
> byte nauwkeurig hoe lang een file is). Dit wordt niet door alle DOS appli-
> caties even zorgvuldig gedaan en Windows doet het nog zelden. Dan kent 
> Windows NT nog Unicode tekstbestanden...... ander verhaal.

Vroegere DOS versies hadden ook problemen met textfiles zonder ctrl-Z op
het eind, of (nog erger bijna) problemen als de ctrl-Z halverwege zat.
Een COPY A B leverde dan een file B op die t/m de ctrl-Z gecopieerd was.
Daar hebben ze toen weer COPY /B voor uitgevonden :-)

Tenslotte: Apple Mac's gebruiken alleen ctrl-M als regeleinde, om de
verwarring compleet te maken. Je pikt zo de websites er uit die op mac's
gemaakt zijn, de source is een lange regel...


Paul Slootman



More information about the Linux mailing list