OVH Community, your new community space.

Shellscript mit Sleep Befehl


Rudi
18.02.15, 03:55
Am einfachsten geht es mit folgendem Befehl:

dos2unix(1) 2014-04-17 dos2unix(1)

BEZEICHNUNG
dos2unix - Formatumwandlung fA1/4r Textdateien von DOS/Mac nach Unix
und umgekehrt

ABERSICHT
dos2unix [Optionen] [DATEI a|] [-n EINGABEDATEI AUSGABEDATEI a|]
unix2dos [Optionen] [DATEI a|] [-n EINGABEDATEI AUSGABEDATEI a|]

BESCHREIBUNG
Das Paket Dos2unix enthAxlt die Werkzeuge "dos2unix" und "unix2dos" zum
Umwandeln einfacher Textdateien aus dem DOS- oder Mac-Format in das
Unix-Format und umgekehrt.

metz1996
17.02.15, 22:24
Ich bedanke mich vielmals bei dir! Ich hatte mich da echt schon viele Stunden dran gesetzt. Dankeschön

derbroti
17.02.15, 22:22
Notepad++ sollte eigentlich eine Option haben, mit der man einstellen kann welche Art von Zeilenumbrüchen man möchte.

http://stackoverflow.com/questions/8...ter-in-notepad

metz1996
17.02.15, 22:19
Kann ich mein Script (geschrieben mit Windows) dann auch so zu sagen auf Linux abändern?

derbroti
17.02.15, 22:17
Notepad++ auf Windows? Windows benutzt \r\n als Zeilenumbruch, Unix artigs nur \n. (Siehe http://de.wikipedia.org/wiki/Zeilenu...Zeilenumbruchs)
Deinem Nano ist es an sich egal, der erkennt beides als Zeilenumbruch an, deswegen sieht man das nicht.

Ohne Neuschreiben: Texteditor mit "Suchen & Ersetzen" Funktion, bei dem man regular expressions nutzen kann, dann kannst du einfach nach \r\n suchen und es durch \n ersetzen.

metz1996
17.02.15, 22:10
Habe das doch mit Notepad++ 1:1 übernommen. Wie kann sowas passieren? Auch im Editor mit "nano" sind dort keine falschen Zeilenumbrüche zu sehen

#Edit:

Ich habe das Script von Hand neu erstellt. Jetzt funktioniert der Sleep befehl. Aber wie kann ich das bei einem riesen großen Script schneller machen als alles neu zu schreiben? ...

derbroti
17.02.15, 22:05
sleep: ungültiges Zeitintervall „5\r“
\r ist ein unsichtbares Escape-Zeichen für (carriage return)
-> du hast da kaputte/falsche Zeilenumbrüche drin, am Einfachsten die Zeile mit dem sleep (oder alle) löschen und per Hand noch mal abtippen.

metz1996
17.02.15, 21:54
Hallo,

Mein Server läuft unter 64 Bit mit Debian 7.5
Ich habe im Internet eine Vorlage gefunden:

Code:
#!/bin/bash
echo "Hi, I'm sleeping for 5 seconds..."
sleep 5
echo "all Done."
Starte ich dieses Shellscript mit sh datei.sh bekomme ich leider folgende Meldungen:
Code:
sh-4.2$ sh wait.sh
Hi, I'm sleeping for 5 seconds...
sleep: ungültiges Zeitintervall „5\r“
„sleep --help“ gibt weitere Informationen.
all Done.
Jemand ne Idee?