Unix satır sonlarıyla toplu dosyalar yazmak güvenli midir?


15

Unix satır sonları ile yazılmış çünkü toplu iş dosyasında bir hata rastladı düşünüyorum. Bu toplu iş dosyalarını Windows'ta çalışan cmd.exe ile ilgili bilinen bir sorun mu?


1
Hiç sorun yaşamadım ve daima unix satır sonlarını kullanıyorum. Ama bu, özleyeceğim kadar şanslı olduğum bir sorun olmadığı anlamına gelmiyor.
Zoredache

2
Hangi hata ile karşılaştınız? Komutlar başlatılamıyor mu? Ya da sadece dosyayı not defteri ile açtığınızda satır sonları yokmuş gibi mi görünüyordu?
Hennes

Yanıtlar:


11

Bu gerçekten bir "hata" değil ... yan tasarım olduğu gibi. Windows yeni satırları "\ r \ n" ... veya "Satır Başı" ve "Yeni Satır" birleşimi olarak tanımlanırken, * nix aromaları satır başı döndürmeyi atlamayı tercih eder. Mümkün olan her yerde Windows'ta her zaman "\ r \ n" kullanmalısınız. Başka herhangi bir şey yanlış yorumlanabilir ... ve çok beklenmedik sonuçlara neden olabilir.


Çağrı: etiketin bir etikete atlamamasıyla ilgili bir sorunla karşılaştım, ancak dosyadaki daha sonra aynı çağrı etikete atladı. Söz konusu dosya \ n satır sonlarını kullanıyordu. Projemdeki tüm toplu iş dosyaları için \ r \ n satır sonlarına geçtim ve sorun ortadan kalktı. Sadece bir kerelik bir fluke olmadığını teyit etmek için \ n sonlarıyla yeniden test etmedim (komut dosyalarının çalışması yaklaşık bir saat sürer).
Samuel

2
Not Defteri Unix satır sonlarını işleyemez, ancak WordPad, PowerShell yapabilir, başka birçok şey de yapabilir.
Michael Hampton

Cam .bat dosyaları nix satır sonları ile düzgün çalışmadığında daha fazla örnek sağlar?
Michal Kordas

@MichalKordas Her Microsoft OS ve * nix dağıtımının her sürümünü geçmeden ve test etmeden, bu biraz uzun bir sipariş verir. Bu gerçekten konuyla ilgili ayrıntılı bir tartışmaya gidilecek yer değil. En iyi uygulamalar Windows \ r \ n, * nix \ n kullanır ve bazen mac yalnızca bir \ r kullanır. Yalnızca Windows toplu iş dosyaları kullandığından, \ r \ n kullanmanız gerektiğini varsaymak en iyisidir.
TheCompWiz


3

Toplu iş dosyaları için unix satır sonları ve windows satır sonları arasında hiçbir fark yoktur.

goto, callYa da satır besleme değişkenlerin bile yaratılması hem stilleri ile çalışır.

Toplu ayrıştırıcı yüzde genişletme aşamasından hemen sonra satır başını kaldırdığından hiçbir zaman büyük bir rol oynamazlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.