next up previous index
Következő: 7.1.14 Processzek kezelése Fel: 7.1 A Bourne-Again SHell Előző: 7.1.12 Ciklusok: while, until,   Index


7.1.13 Szabványos csatornák


Táblázat: Szabványos csatornák
Kifejezés Rövidítés Fájl-leíró Szabványos eszköz
Szabványos adatbevitel stdin 0 Billentyűzet
Szabványos adatkivitel stdout 1 Konzol
Szabványos hibaüzenet stderr 2 Konzol
[43]

A szabványos adatbevitel és adatkivitel elvét a UNIX-ban találták ki. A shell lehetővé teszi a szabványos csatornák átirányítását a ,,>'' és a ,,<'' (kacsacsőr-jelek) segítségével.

Parancsok végrehajtásának eredményét a következő módon tudjuk fájlba irányítani:

zsiga@debian:~$ ls >lista
Így az ls parancs kimenete nem jelenik meg a képernyőn, hanem beleíródik a lista nevű fájlba. Ebben az esetben, ha nem létezett a lista nevű fájl, akkor létrejön, ha létezett, akkor felülíródik. Abban az esetben, ha nem felülírni, hanem hozzáfűzni szeretnénk egy létező fájlhoz, akkor a következő formában kell kiadnunk a parancsot:
zsiga@debian:~$ ls >>lista

Azok a parancsok, amelyek a szabványos adatbeviteli csatornáról várnak adatokat, az átirányítás révén az adatbevitelt fájlból is megkaphatják:

zsiga@debian:~$ cat <lista
(Ezt csak a példa kedvéért csináltam, mert a cat parancs akkor is működik, ha csak a fájl nevét adjuk meg neki.)

Lehetséges a szabványos hibacsatorna átirányítása is. Erre például abban az esetben lehet szükségünk, ha a háttérben indítjuk el egy program futását, de látni szeretnénk, ha valami probléma támadt a futása közben.

zsiga@debian:~$ ls > lista 2> error
Tehát először az ls parancs eredményét átirányítjuk a lista nevű fájlba, ugyanakkor a hibaüzeneteket átirányítjuk az error nevű fájlba.

Több csatornát is átirányíthatunk egyszerre.

A cső (pipe) segítségével átirányíthatjuk az egyik parancs kimenetét egy másik parancs bemenetére.

zsiga@debian:~$ who | sort
(Ez a bejelentkezett felhasználókat állítja sorba.)

A csövekből többet is rakhatunk egymás után:

zsiga@debian:~$ who | sort | grep zsiga
(Ez csak a zsiga loginnevű bejelentkezett felhasználókat írja ki a képernyőre, sorrendbe rendezve.)


next up previous index
Következő: 7.1.14 Processzek kezelése Fel: 7.1 A Bourne-Again SHell Előző: 7.1.12 Ciklusok: while, until,   Index

1999-09-17