✅ CÁCH CHẮC ĂN NHẤT: .editorconfig (NetBeans CÓ hỗ trợ)

1️⃣ Tạo file .editorconfigroot project

root = true
[*]
end_of_line = lf
[*.sh]
end_of_line = lf
charset = utf-8

2️⃣ Đóng & mở lại project trong NetBeans

👉 Từ giờ:

  • .sh luôn LF
  • NetBeans KHÔNG tự đổi về CRLF nữa
  • Áp dụng cả khi Save, Paste, Edit

📌 Đây là cách chuẩn nhất, không phụ thuộc version NetBeans


✅ CÁCH 2: Ép LF thủ công cho file đang mở (UI vẫn còn)

Mở file .sh → nhìn góc phải dưới NetBeans:

  • Thấy CRLFclick vào
  • Chọn LF
  • Save lại

⚠️ Cách này chỉ áp dụng cho file đó, không global.


✅ CÁCH 3: Tắt auto-normalize của Git (rất hay gây đổi CRLF)

Nếu project có Git:

🔹 Kiểm tra:

git config --global core.autocrlf

Nếu ra true → đổi ngay:

git config --global core.autocrlf input

Hoặc chỉ repo hiện tại:

git config core.autocrlf input

📌 input =

  • Windows: không đổi LF khi checkout
  • Nhưng vẫn convert CRLF → LF khi commit

✅ CÁCH 4: Fix hàng loạt .sh đã bị CRLF

Trên Linux / WSL:

dos2unix *.sh

Hoặc không có dos2unix:

sed -i 's/\r$//' *.sh