Syntax error: EOF in backquote substitution

Kit Sunde picture Kit Sunde · Apr 29, 2011 · Viewed 41.7k times · Source

I'm getting an error Syntax error: EOF in backquote substitution and I don't have the faintest idea why. Would anyone mind taking a quick look?

#! /bin/sh
# chkconfig 345 85 60
# description: startup script for produtcrawler-router
# processname: producrawler-router

NAME=productcrawler-router
DIR=/etc/productcrawler/services
EXEC=router.py
PID_FILE=/var/run/productcrawler.pid
IEXE=/etc/init.d/productcrawler-router
RUN_AS=root

### BEGIN INIT INFO
# Provides:          productcrawler-router
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     5
# Default-Stop:      0 1 2 3 6
# Description:       Starts the productcrawler-router service
### END INIT INFO

if [ ! -f $DIR/$EXEC ]
then
        echo "$DIR/$EXEC not found."
        exit
fi

case "$1" in
  start)
        echo -n "Starting $NAME"
        cd $LDIR
        start-stop-daemon -d $DIR --start --background --pidfile $PID_FILE --make-pidfile --exec $EXEC --quiet
        echo "$NAME are now running."
        ;;
  stop)
        echo -n "Stopping $NAME"
        kill -TERM `cat $PID_FILE
        rm $PID_FILE
        echo "$NAME."
        ;;
  force-reload|restart)
        $0 stop
        $0 start
        ;;
  *)
        echo "Use: /etc/init.d/$NAME {start|stop|restart|force-reload}"
        exit 1
        ;;
esac

Answer

eduffy picture eduffy · Apr 29, 2011

The syntax coloring didn't give it away?

 stop)
       echo -n "Stopping $NAME"
       kill -TERM `cat $PID_FILE

It's the backtick and the end of the kill line.