Anzeige:
Ergebnis 1 bis 4 von 4

Thema: syntax error

  1. #1
    MaX Power
    Gast

    syntax error

    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

    Code:
    #!/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
    Geändert von MaX Power (02-02-2008 um 11:54 Uhr)

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Code:
    for i in $( ls /home/lighty/fastcgi/*.sh ); do
    Wo ist denn die Schleife fertig? Da fehlt ein "done;"

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer Avatar von Aqualung
    Registriert seit
    28.01.2008
    Beiträge
    14
    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:

    Code:
    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

  4. #4
    MaX Power
    Gast
    Danke das hat funktioniert.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •