PowerShell:
Kirjoittaminen standardivirheeseen

Kuinka:

PowerShell yksinkertaistaa stderriin kirjoittamisen prosessia käyttäen Write-Error cmdlet-komentoa tai ohjaamalla tulosteen $host.ui.WriteErrorLine() metodiin. Kuitenkin suoraa stderr-ohjausta varten saatat mieluummin käyttää .NET-menetelmiä tai PowerShellin itsensä tarjoamaa tiedostosuuntaimen uudelleenohjausta.

Esimerkki 1: Write-Error käyttö virhesanoman kirjoittamiseen stderriin.

Write-Error "Tämä on virhesanoma."

Tuloste stderriin:

Write-Error: Tämä on virhesanoma.

Esimerkki 2: $host.ui.WriteErrorLine() käyttö suoraan stderr-kirjoitukseen.

$host.ui.WriteErrorLine("Suora stderr-kirjoitus.")

Tuloste stderriin:

Suora stderr-kirjoitus.

Esimerkki 3: .NET-menetelmien käyttö kirjoittaessa stderriin.

[Console]::Error.WriteLine("Käytetään .NET-menetelmää stderrille")

Tämän menetelmän tuloste:

Käytetään .NET-menetelmää stderrille

Esimerkki 4: Virhetulosteen uudelleenohjaus käyttämällä tiedostosuunnainta 2>.

PowerShellissa tiedostosuuntimet voivat ohjata erilaisia virtoja. Stderrille tiedostosuunnain on 2. Tässä on esimerkki, jossa stderr uudelleenohjataan tiedostoon nimeltä error.log suorittaessa komentoa, joka generoi virheen.

Get-Item NonExistentFile.txt 2> error.log

Tämä esimerkki ei tuota konsolitulostetta, mutta generoi nykyiseen hakemistoon tiedoston error.log, joka sisältää virhesanoman yrittäessäsi käyttää olematonta tiedostoa.

Yhteenvetona, PowerShell tarjoaa useita menetelmiä virhetulosteen tehokkaaseen kirjaamiseen ja hallintaan, mahdollistaen kehittyneet virheenkäsittely- ja lokitiedostojen kirjausstrategiat skripteissä ja sovelluksissa.