#1 30. November 2012 Hallo RR-Comunity, ich bastel gerade das erste mal an einem .sh Script und bekommen immer den selben Fehler, obwohl die Syntax eigentlich Stimmen müsste ...? (Ja ich hab auch schon gegoogelt, aber entweder suche ich nach dem Falschen....?( ) Quellcode: Spoiler Code: # Start des telnet-daemons echo Starting telnetd /usr/sbin/telnetd -l /sbin/ar7login # warten, bis das DSL da ist echo Waiting for internet connection while !(ping -c 1 www.google.de); do sleep 5 done # tun-Device anlegen, falls noch nicht vorhanden echo Creating TUN device mknod /var/tmp/tun c 10 200 # start OpenVPN (Dateinamen ggf. anpassen) echo Starting OpenVPN cd /var/usb/openvpn ./openvpn --config ovpn.conf #--daemon Fehlermeldung: Spoiler /var/usb/openvpn/startup.sh: line 8: syntax error: unexpected "done" (expecting "do") Was mach ich falsch ?? Mit freundlichen Grüßen, YOOUI
#2 30. November 2012 AW: [UNIX] .sh-Script Fehler: unexpected "done" Hey, die Syntax ist manchmal verwirrend. Die runden Klammern um den Ping Befehl müssen weg. Zwischen ! und ping muss außerdem ein Leerzeichen stehen, sonst will die Shell history-expansion machen. So funktionierts bei mir: Code: while ! ping -c 1 192.168.178.1; do echo no ping done 1 Person gefällt das.