Syötön ja tulostuksen ohjaus
Unixissa suoritettavalla ohjelmalla tai komennolla on kolme
tietovirtaa (stream):
- standard input, stdin
- standard output, stdout
- standard error output, stderr.
Esimerkiksi Fortran-ohjelmassa
- lukeminen kanavalta 5 merkitsee oletusarvoisesti lukemista
standard inputista
- tulostaminen kanavalle 6 merkitsee oletusarvoisesti tulostamista
standard outputiin
- Fortran-järjestelmän ilmoitukset ajonaikaisista virheistä menevät
oletusarvoisesti standard error outputiin.
Nämä kaikki liittyvät oletusarvoisesti käyttäjän päätteeseen mutta
ovat helposti muutettavissa seuraavasti (eli aivan samoin kuin
Unix-komentojen syöttö ja tulostus ovat uudelleenohjattavissa):
- Jos ohjelman käynnistyskomennon loppuun kirjoitetaan merkki
<
ja tiedoston
nimi, niin ohjelma lukee standard inputinsa kyseisestä tiedostosta.
- Jos ohjelman käynnistyskomennon loppuun kirjoitetaan merkki
>
ja tiedoston
nimi, niin ohjelma tulostaa standard outputinsa kyseiseen tiedostoon.
- Jos ohjelman käynnistyskomennon loppuun kirjoitetaan merkit
>&
ja
tiedostonnimi, niin ohjelma tulostaa sekä standard outputinsa että
standard error outputinsa
kyseiseen tiedostoon. (Standard error outputin käsittelyssä
on eroja eri komentotulkkien eli shellien välillä. Esitetty
ohje koskee tcsh:ta.)
Näitä voidaan tietysti käyttää myös yhdessä, esim.
./ajo <datat >&tulokset