EMZETT.
Giriş yap

Satır sonları: LF ve CRLF

Kısaca: Windows satırları iki karakterle (CR+LF), Linux ve macOS tek karakterle (LF) bitirir. Bu fark betiklerde ve Git’te hep sorun çıkarır.

Biraz daha ayrıntılı: CR (“Carriage Return”, satır başı) ve LF (“Line Feed”, satır ilerletme) daktilolardan ve teleprinterlerden gelir. Windows ikisini de benimsedi, Unix yalnızca LF’yi.

Ayrıntılı

  • Belirtiler: CRLF’li bir kabuk betiği bad interpreter: /bin/bash^M ile durur. Dosyalar eski editörlerde tek satır görünür veya ^M gösterir.
  • Git: core.autocrlf giriş ve çıkışta dönüştürür. Daha güvenilir olanı, * text=auto ve *.sh text eol=lf içeren bir .gitattributes dosyasıdır.
  • Dönüştürme: dos2unix ve unix2dos, editörlerde “satır sonu” ayarı.
  • Protokoller: HTTP, SMTP ve birçok metin protokolü Linux’ta bile CRLF ister.
  • Eski Mac’ler: Eskiden yalnızca CR, bugün yaygın değil.
  • Not: Python metin kipinde satır sonları okurken tekleştirilir (\n).

Ayrıca bak: git rebase