files, configs etc immer mit ^M nach jeder Zeile

Status
Für weitere Antworten geschlossen.

3x3cut0r

Benutzer
Mitglied seit
21. Mai 2011
Beiträge
507
Punkte für Reaktionen
15
Punkte
44
hi
wenn ich über ssh oder DSM-Dateibrowser oder sonst wie irgendwas auf meine DS kopiere
(ich rede jetzt hier im speziellen von skripten, configs und programme die ich mit der console installieren möchte),
und diese dann mit vi öffne steht nach jeder zeile ^M (siehe anhang von x-beliebiegem code ausschnitt ...)

was bedeutet dies genau?
sind diese files dann falsch codiert?
teils gehen diese scripte dann auch nicht, erst nachdem ich jede einzelne zeile mit vi von hand bearbeitet habe

wer kann mich da mal aufklären und mir dabei helfen das zu vermeiden
was mache ich falsch bzw woran liegt das?

danke für hilfe
 

Anhänge

  • code.png
    code.png
    29,9 KB · Aufrufe: 27

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.164
Punkte für Reaktionen
412
Punkte
393
Hallo,
Windows und Unix haben unterschiedliche Zeilenumbrüche, Unix nimmt nur lf (linefeed), Windows cr (carriage return)+lf (linefeed), siehe Wikipedia.
Am besten notepad++ auf dem Windowsrechner installieren und beim speichern darauf achten, daß Unix Zeilenumbruch geschrieben werden.
Scripte mit falschem Zeilenumbruch laufen meist nicht.

Gruß Götz
 

3x3cut0r

Benutzer
Mitglied seit
21. Mai 2011
Beiträge
507
Punkte für Reaktionen
15
Punkte
44
ok werd ich testen ... danke schonmal
aber ...
wenn zb fertige php-pakete, die ich ja als .zip runterlade, dann auf die nas kopiere, in /volume1/web einfüge und dort erst entpacke auch schon so sind?
kann ich ja schlecht meist mehrere 100 - 1000 files bearbeiten ... wobei ich sagen muss eig funktioniert da alles ... ist halt nur "unschön" :p
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.164
Punkte für Reaktionen
412
Punkte
393
Hallo,
php mag da genügsamer sein, shell Scripte mögen das gar nicht. Es gibt auch die Tools dos2unix und unix2dos um die Zeilenumbrüche anzupassen.

Gruß Götz
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
bei PHP ist es egal. Es sollten alle Zeilenumbrüche erkannt werden (glaub sogar Mac wird erkannt ;-)
 

3x3cut0r

Benutzer
Mitglied seit
21. Mai 2011
Beiträge
507
Punkte für Reaktionen
15
Punkte
44
ok das mit notepad++ hat funktioniert ... einfach auf bearbeiten/zeilenende/konvertiere zu unix (lf) ... speichern, kopieren, ersetzen, fertig
das mit dos2unix auf der console auch ... das programm hab ich mir jetzt über ipkg install busybox installiert (grad keine einfachere möglichkeit bzw quelle gefunden :p )
für ganze verzeichnisse dann:
find /pfad/zum/verzeichnis -type f -name '*' -exec dos2unix {} \;

danke leute
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.164
Punkte für Reaktionen
412
Punkte
393
Hallo,
evtl. hilft
ipkg install findutils
weiter.

Gruß Götz
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat