Ihr bash
Skript hat DOS-Zeilenenden, bash
erwartet jedoch Zeilenenden im Unix-Stil (nur ein Zeilenvorschub, kein Wagenrücklauf- / Zeilenvorschubpaar. Sie müssen entfernt werden; es dos2unix
ist ein gutes Werkzeug, um es zu verwenden tr -d '\r'
.)
Insbesondere scheint es, dass die Fehlermeldung stammt
python test.py
da bash
nimmt den Wagenrücklauf nach dem y
in test.py
als Teil des Dateinamens. Die "echte" Fehlermeldung besteht aus den Bytes
python: can't open file 'test.py\r': [Errno 2] No such file or directory
aber das \r
, wenn am Endgerät angezeigt wird, bewirkt, dass der Cursor an den Anfang der Leitung zurückzubringen, so dass der Rest der Fehlermeldung beim Starten ': [Errno 2]...
überschreibt den vorherigen Teil, produziert, wie Sie sahen
': [Errno 2] No such file or directory