PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : syntax error



MaX Power
01-02-2008, 01:29
Ich baue mir gerade ein kleines Skript für Lighttpd zusammen leider bekomme ich ständig einen syntax error. Da ich bis jetzt vom Shellskripten er wenig Ahnung habe wollte ich mal schauen ob ihr mir helfen könnt.

Der Fehler tritt hier auf



#!/bin/bash
### BEGIN INIT INFO
# Provides: lighttpd
# Required-Start: networking
# Required-Stop: networking
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start the lighttpd web server.
### END INIT INFO

### Lighty ###

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/lighttpd
PHP_DAEMON=/usr/bin/php5-cgi
DESC=Lighty
PHP_DESC=PHP5
PIDFILE=/var/run/lighty.pid
PHP_SOCKET=https.php5.socket
SCRIPTNAME=/etc/init.d/lighttpd
DAEMON_OPTS="-f /etc/lighttpd/lighttpd.conf"


test -x $DAEMON || exit 0

. /lib/lsb/init-functions


do_start() {
if [ -e $PIDFILE ]; then
pid=$(cat $PIDFILE)
if kill -0 "$pid" > /dev/null; then
log_success_msg "$DESC already running"
return
else
log_success_msg "Pidfile found ..."
log_success_msg "$DESC not running trying to remove"
log_success_msg "Trying to remove Pidfile"
rm -f $PIDFILE
fi
fi

if [ -x $DAEMON ]; then
log_daemon_msg "Starting $DESC"
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS
log_end_msg 0
fi
}

do_start_php() {
if [ -x $PHP_DAEMON ]; then
pid=$(cat $PHP_PIDFILE)
if kill -0 "$pid" > /dev/null; then
log_success_msg "$PHP_DESC already running"
return
else
log_success_msg "Pidfile found ..."
log_success_msg "$PHP_DESC not running trying to remove"
log_success_msg "Trying to remove Pidfile"
rm -f $PHP_SOCKET
fi
fi

if [ -x $DAEMON ]; then
log_daemon_msg "Starting $PHP_DESC"
for i in $( ls /home/lighty/fastcgi/*.sh ); do
start-stop-daemon --start --quiet --background --exec $i
done
log_end_msg 0
fi
}

do_stop() {
if [ -e $DAEMON ]; then
if kill -0 $PHP_SOCKET > /dev/null; then
log_daemon_msg "Stopping $DESC"
start-stop-daemon --quiet --stop --pidfile $PIDFILE --exec $DAEMON
rm -f $PHP_SOCKET
log_end_msg $?
else
log_failure_msg "I can't stop $DESC" "Maybe it's NOT runnig?"
rm -f $PHP_SOCKET
fi
fi
}

do_stop_php() {
if [ -e $PHP_PIDFILE ]; then
pid=$(cat $PHP_PIDFILE)
if kill -0 "$pid" > /dev/null; then
log_daemon_msg "Stopping $PHP_DESC"
start-stop-daemon --stop --quiet --exec /usr/bin/php5-cgi
rm -f $PHP_PIDFILE
log_end_msg 0
else
log_failure_msg "I can't stop $PHP_DESC" "Maybe it's NOT runnig?"
rm -f $PHP_PIDFILE
fi
fi
}

case "$1" in
start)
do_start
do_start_php
;;
stop)
do_stop || /bin/true
# do_stop_php || /bin/true
;;
restart|force-reload)
log_warning_msg "Restarting $DESC"
do_stop || /bin/true
# do_stop_php || /bin/true
sleep 1
do_start || /bin/true
# do_start_php || /bin/true
log_warning_msg "Done"
;;
*)
log_warning_msg "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac

exit 0

peschmae
01-02-2008, 11:09
for i in $( ls /home/lighty/fastcgi/*.sh ); do


Wo ist denn die Schleife fertig? Da fehlt ein "done;"

MfG Peschmä

Aqualung
01-02-2008, 11:23
if [ -x $PHP_DAEMON ]; then
log_daemon_msg "Starting PHP 5"
for i in $( ls /home/lighty/fastcgi/*.sh ); do
start-stop-daemon --start --quiet --background --exec $i
log_end_msg 1
fi


Du musst Deine for-Schleife mit done abschließen:



for i in $( ls /home/lighty/fastcgi/*.sh ); do
start-stop-daemon --start --quiet --background --exec $i
done


Einrücken machts übersichtlicher und hilft Fehler zu sehen.

Gruß Aqualung

MaX Power
01-02-2008, 11:35
Danke das hat funktioniert.