Shell skript "done" ? O.o

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Einwegrasierer
Beiträge: 3
Registriert: 11.06.2016 15:14:13

Shell skript "done" ? O.o

Beitrag von Einwegrasierer » 11.06.2016 15:19:09

Schönen guten Nachmittag,
Ich besitze seit etwa einem Monat einen dedicated root Server mit Debian 8.
Ich habe auf diesem Server einen Minecraft server laufen. da ich für ein Autorestart Plugin ein bestimmtes skript brauche habe ich dieses auch angelegt bzw war eins dabei was ich dann nur bearbeitet habe..
Mein fertiges skript lautet

Code: Alles auswählen

while true; do
  java -Xmx30G -Xms30G -jar spigot.jar
  sleep 5
done
das Problem ist das er mir sagt wenn ich dieses shellskript ausführen will das er mit dem done nichts anfangen kann. Ich hoffe ihr könnt mir helfen.

Benutzeravatar
Meillo
Moderator
Beiträge: 9232
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Shell skript "done" ? O.o

Beitrag von Meillo » 11.06.2016 15:32:18

Das Script sieht auf den ersten Blick gut aus.
Einwegrasierer hat geschrieben: das er mit dem done nichts anfangen kann
Die genaue Fehlermeldung wuerde die Fehlersuche enorm erleichern.
Use ed once in a while!

Einwegrasierer
Beiträge: 3
Registriert: 11.06.2016 15:14:13

Re: Shell skript "done" ? O.o

Beitrag von Einwegrasierer » 11.06.2016 15:52:46

Der Konsolen ausschnitt

Code: Alles auswählen

root@ve1134:~# cd /home/minecraft/Muffincloud/
root@ve1134:/home/minecraft/Muffincloud# ./start.sh
./start.sh: Zeile 4: Syntaxfehler beim unerwarteten Wort `done'
./start.sh: Zeile 4: `done'
root@ve1134:/home/minecraft/Muffincloud#
andere skripte wie diese Funktionieren;
screen -dmS Muffincloud java -Xmx30G -Xms30G -jar spigot.jar
doch damit läuft das Plugin nicht..

Benutzeravatar
Meillo
Moderator
Beiträge: 9232
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Shell skript "done" ? O.o

Beitrag von Meillo » 11.06.2016 16:01:21

Vielleicht ein unsichtbares Zeichen o.ae. im Script (od -c). Hast du mal versucht, das Script von Hand abzutippen (ist ja nicht so lang). Geht's dann?
Use ed once in a while!

Benutzeravatar
heisenberg
Beiträge: 4123
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Shell skript "done" ? O.o

Beitrag von heisenberg » 11.06.2016 16:07:10

Copy + Paste aus dem Forum funktioniert bei mir.

Hau mal in Zeile 1 den "Shebang" rein.

Code: Alles auswählen

#!/bin/bash

while true; do   
      java -Xmx30G -Xms30G -jar spigot.jar
      sleep 5
done


rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Shell skript "done" ? O.o

Beitrag von rendegast » 11.06.2016 19:08:30

ala Meillo

Code: Alles auswählen

cat -A start.sh
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
Meillo
Moderator
Beiträge: 9232
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Shell skript "done" ? O.o

Beitrag von Meillo » 11.06.2016 23:33:06

rendegast hat geschrieben:ala Meillo

Code: Alles auswählen

cat -A start.sh
Aus der Manpage zu cat(1):
-A, --show-all
equivalent to -vET
... und `cat -v' -- das sollte bekannt sein -- ist harmful: http://harmful.cat-v.org/cat-v/ ;-)
Use ed once in a while!

Candyman
Beiträge: 6
Registriert: 07.04.2016 00:10:44

Re: Shell skript "done" ? O.o

Beitrag von Candyman » 12.06.2016 22:58:36

Versuch es mal als Einzeiler in der Shell.

Code: Alles auswählen

while true; do java -Xmx30G -Xms30G -jar spigot.jar; sleep 5;done

Grüße
Nelson

Einwegrasierer
Beiträge: 3
Registriert: 11.06.2016 15:14:13

Re: Shell skript

Beitrag von Einwegrasierer » 14.06.2016 17:18:56

Candyman hat geschrieben:Versuch es mal als Einzeiler in der Shell.

Code: Alles auswählen

while true; do java -Xmx30G -Xms30G -jar spigot.jar; sleep 5;done

Grüße
Nelson
hat wunderbar geplappt, einfach kopiert eingefügt screen noch reingeschmissen und es läuft.

Candyman
Beiträge: 6
Registriert: 07.04.2016 00:10:44

Re: Shell skript "done" ? O.o

Beitrag von Candyman » 15.06.2016 08:24:25

Das freut mich. Bin früher auch immer über solche Sachen gestolpert. [emoji1303]


Grüße
Nelson

Benutzeravatar
Meillo
Moderator
Beiträge: 9232
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Shell skript "done" ? O.o

Beitrag von Meillo » 15.06.2016 09:15:15

Aber was das Problem war, wissen wir nicht; wir haben nur einen Workaround gefunden -- das ist natuerlich gut fuer den Problemhabenden aber unbefriedigend fuer die Mitleser im Forum ...
Use ed once in a while!

Candyman
Beiträge: 6
Registriert: 07.04.2016 00:10:44

Re: Shell skript "done" ? O.o

Beitrag von Candyman » 26.06.2016 20:17:28

Ich weiß nicht so richtig ob die Code Funktion aus dem Forum hier etwas verschluckt. Aber nach #!/bin/bash kommt auf jedenfall ein Leerzeichen bzw eine neue Zeile. Und das sleep done sollte auch auf zwei Zeilen stehen.


Grüße
Nelson

Benutzeravatar
Meillo
Moderator
Beiträge: 9232
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Shell skript

Beitrag von Meillo » 26.06.2016 21:06:33

Candyman hat geschrieben:Ich weiß nicht so richtig ob die Code Funktion aus dem Forum hier etwas verschluckt. Aber nach #!/bin/bash kommt auf jedenfall ein Leerzeichen bzw eine neue Zeile. Und das sleep done sollte auch auf zwei Zeilen stehen.
Ich kann deine Aussage nicht nachvollziehen. In allen Codeschnipseln steht der Shebang in einer eigenen Zeile und `sleep' und `done' sind entweder durch ein Newline oder einen Strickpunkt getrennt. Das sieht alles korrekt aus.

Vielleicht kannst du mal zitieren, welchen Codeschnipsel du meinst.
Use ed once in a while!

Candyman
Beiträge: 6
Registriert: 07.04.2016 00:10:44

Shell skript "done" ? O.o

Beitrag von Candyman » 26.06.2016 21:08:39

Ich hab es bis jetzt nur bei Tapatalk angeschaut. Da ist das alles ein bisschen durcheinander.
Hab es jetzt mal in der Webansicht angeschaut, da sieht alles gut aus. (Code Tags)
Ehrlich gesagt finde ich hier den Fehler auch nicht. Ich vermute ein unsichtbares Zeichen.

Grüße
Nelson

Antworten