Ero sivun ”Standardivirrat” versioiden välillä

Siirry navigaatioon Siirry hakuun
LinuxMan (keskustelu | muokkaukset)
pEi muokkausyhteenvetoa
Stderr: Virheellinen järjestys komennossa cat tiedosto1 2>&1 > kaikki.txt
Merkkaukset: Mobiilimuokkaus mobiilisivusto-muokkaus
 
Rivi 35: Rivi 35:
  cat tiedosto1 >& kaikki.txt
  cat tiedosto1 >& kaikki.txt
tai
tai
  cat tiedosto1 2>&1 > kaikki.txt
  cat tiedosto1 > kaikki.txt 2>&1
 
Käytettäessä jälkimmäistä muotoa on huomattava että järjestyksellä on merkitystä. Oletetaan että kirjoitatkin komennon muodossa
<kbd>cat tiedosto1 2>&1 > kaikki.txt</kbd>, ja tiedosto1:stä ei ole olemassa. Tällöin uudelleenohjaus 2>&1 ohjaa stderrin näytölle, koska stdout menee sinne oletuksena (uudelleenohjauksen tekohetkellä). Tämän jälkeen luodaan tyhjä tiedosto kaikki.txt, koska
cat-komennon stdout on tyhjä. Oikea muoto on ylläoleva, siinä catin stdout on jo ohjattu tiedostoon kaikki.txt ja sinne stderrkin menee.


Nimestään huolimatta stderr ei ole pelkkä virhe- vaan myös infotuloste. Esimerkiksi dd-komennolla voi kopioida dataa ja muokata sitä muutamalla yksinkertaisella tavalla
Nimestään huolimatta stderr ei ole pelkkä virhe- vaan myös infotuloste. Esimerkiksi dd-komennolla voi kopioida dataa ja muokata sitä muutamalla yksinkertaisella tavalla