Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Variable'lar, Quoting ve Expansion: Parametre Genişletme, Command Substitution, Array'ler ve Word Splitting Tuzağı
Bash'te variable'ı her zaman çift tırnak içinde kullanmak gerekir, çünkü tırnaksız değer word splitting ve globbing'e girer ve boşluklu bir dosya adı yanlış dosyanın silinmesine yol açabilir. Bash'in expansion sırasını, parametre genişletmeyi, command substitution ve aritmetiği, indexed ve associative array'leri, export'u ve ShellCheck'i Bookstore'un health script'i üzerinden gösteriyor, boş variable ile rm -rf ve macOS'taki Bash 3.2 tuzaklarını gerçek çıktılarla açıklıyoruz.
Script'i Test Etmek ve Taşınabilir Kılmak: ShellCheck, shfmt, bats-core, CI ve macOS'taki Bash 3.2'den Bash 5.3'e
Bash script'leri ShellCheck ile lint edilir, shfmt ile biçimlenir ve bats-core ile, PATH'e konan stub'larla test edilir; üçü de CI'da her pull request'te çalışmalı. Bookstore'un deploy ve kütüphane testlerini yazıp GitHub Actions'a bağlıyor, aynı testleri macOS'taki Bash 3.2'de, Bash 5.3'te ve Ubuntu 26.04'ün Rust coreutils'inde koşturup taşınabilirliğin nerede kırıldığını gösteriyoruz.