Hallo,
am Ende jeder Zeile der cronjobs setzt cron ein ^M, sprich
0 * * * * /bin/bla
wird zu
0 * * * * /bin/bla^M
was dann natürlich nicht mehr funktioniert, bearbeitet habe ich die Datei mit dem vi über crontab -e über ssh.
Wenn ich nicht irre, war ^M ja ein Zeilenumbruch, doch der wird eigentlich korrekt angenommen, sonst würden die cronjobs ja nicht laufen (/es versuchen), wo kommt das her? Ist das SSH-Terminal (VT100) schuld?
^M in crontab-Datei
^M in crontab-Datei
Bad artists copy. Good artists steal. Pablo Picasso
hi,
also eigentlich kann es nur am SSH-Terminal liegen -- aber einschliesslich allem,
worauf es laeuft.
"Zeilenumbruch" oder "newline" sind mehrdeutige Begriffe:
in Unix-Files ist es ein einzelnes LF, Apple benutzt traditionell ein einzelnes CR,
DOS braucht CR+LF und unter VMS gibt es das in der Form garnicht.
Die Enter-Taste (aka Return- oder Eingabe-) erzeugt irgendein Zeichen und
die Software macht irgendwas anderes draus. Eine Schreibmaschinen-Tastatur
erzeugt beide Funktionen mit einer Taste. Ein echtes VT100 aus Hardware ist
umschaltbar, die Return-Taste liefert entweder CR oder CR+LF.
Terminal-Emulatoren sind in der Regel auch konfigurierbar.
Der "vim" unterscheidet CR und LF weder im Kommando- noch im Eingabe-
Mode. Gespeichert wird immer ein LF, also kann der Fehler garnicht auftreten
bzw. es wuerde eine zusaetzliche Leerzeile erzeugt. Dafuer zeigt der vim ein
^M nicht an!
Na gut, das war jetzt keine Antwort, aber vielleicht hilt's trotzdem.
also eigentlich kann es nur am SSH-Terminal liegen -- aber einschliesslich allem,
worauf es laeuft.
Code: Alles auswählen
Abk. CTRL- Dezimal Hex
------------------------------------------------------
LF ^J 10 0x0a Linefeed (Zeilenvorschub)
CR ^M 13 0x0d Carriage Return (Wagenruecklauf)
in Unix-Files ist es ein einzelnes LF, Apple benutzt traditionell ein einzelnes CR,
DOS braucht CR+LF und unter VMS gibt es das in der Form garnicht.
Die Enter-Taste (aka Return- oder Eingabe-) erzeugt irgendein Zeichen und
die Software macht irgendwas anderes draus. Eine Schreibmaschinen-Tastatur
erzeugt beide Funktionen mit einer Taste. Ein echtes VT100 aus Hardware ist
umschaltbar, die Return-Taste liefert entweder CR oder CR+LF.
Terminal-Emulatoren sind in der Regel auch konfigurierbar.
Der "vim" unterscheidet CR und LF weder im Kommando- noch im Eingabe-
Mode. Gespeichert wird immer ein LF, also kann der Fehler garnicht auftreten
bzw. es wuerde eine zusaetzliche Leerzeile erzeugt. Dafuer zeigt der vim ein
^M nicht an!
Na gut, das war jetzt keine Antwort, aber vielleicht hilt's trotzdem.
Beware of programmers who carry screwdrivers.