Errore in uno script in bash

Ciao a tutti
sono qua per chiedervi consiglio su un bash script che non riesco a
far funzionare. E' da poco che ho iniziato con il bash scripting per
cui sara' un errore banale credo, ma che comunque mi fa impazzire.
Questo e' il codice:
#!/bin/sh
if pidof pmacctd > /dev/null
then
    /etc/init.d/pmacct stop
    psql pmacct <<prova
        \copy acct to /tmp/psql
    prova
    psql pmacct -f /root/prova.pgsql
    scp /tmp/psql sniffer:/tmp/psql &>prova1.log
    /etc/init.d/pmacct start
else
    psql pmacct <<prova
        \copy acct to /tmp/psql
    prova
    psql pmacct -f /root/prova.pgsql
    scp /tmp/psql sniffer:/tmp/psql &>prova1.log
fi
Questo e' l'errore:
./prova1.sh: line 18: syntax error: unexpected end of file
Spero che qualcuno mi sappia dare una mano
Ciao e grazie.