Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
İlk PowerShell Script'i: .ps1, Çalıştırma Yolları, #Requires, Comment-Based Help ve pwsh mi powershell.exe mi?
Bir PowerShell script'i PowerShell içinden çağrılınca aynı process'te kendi scope'unda, pwsh -File ile çağrılınca yeni bir process'te çalışır ve sonucunu exit code ile bildirir; Write-Error tek başına exit code'u değiştirmez. Bookstore API'sini kontrol eden Test-BookstoreHealth.ps1 ile &, dot-sourcing, -File ve -Command farkını, Linux'ta shebang'i, #Requires'ı, comment-based help'i, Windows PowerShell 5.1 ile 7.6 LTS farklarını ve BOM/CRLF tuzaklarını gösteriyoruz.
Error Handling: Terminating ve Non-Terminating Hatalar, $ErrorActionPreference, try/catch ve Native Komutların Exit Code'u
PowerShell'de $ErrorActionPreference = 'Stop' yalnız PowerShell hatalarını durdurur; dotnet test gibi native komutun başarısız exit code'u için $PSNativeCommandUseErrorActionPreference = $true da gerekir, yoksa testler kırılsa bile publish çalışır ve script 0 ile çıkar. İki hata türünü, try/catch/finally ve trap'i, Write-Error ile throw farkını, stderr ve 2>&1 davranışını, Set-StrictMode'u, set -euo pipefail karşılıklarını ve Bookstore için ilk hatada duran bir build script'ini gösteriyoruz.