Error de linea en mi script!! AYUDA

Buenas!
Necesito hacer una practica para una clase de so, tonces como tamos en el tema de copias de seguridad estoy intentando hacer un script para que realice la copia.

1#!/bin/bash
2#Script para hacer copias de seguridad
3echo -n "Indiquenos su nombre po'favo!"
4read nombre
5echo "pues.. Bienvenid@ sea $nombre"
6echo "================================"
7echo "======= MENU INICIAL ======="
8echo "================================"
9echo " 1.- Realizar copia"
10echo " 2.- Reestablecer copia"
11echo " 3.- No, gracias me equivocao, SALIR."
12echo "================================"
13read opcion
14if [$opcion = "1"] then
15echo -n "Indique el origen de la copia"
16read origen
17echo -n "Indique el destino de la copia"
18read destino
19su - root -c "dump -0 -f $destino.dump $origen"
20if [$opcion = "2"] then
21echo -n "Indique el origen de la copia de seguridad"
22read origen
23echo -n "Indique el destino de la copia de seguridad"
24read destino
25su - root -c "restore -f $destino.dump -x $origen"
26if [$opcion = "3"] then
27su - root -c "exit"

La cuestion es que me sale este error:
./script.sh: line 28: syntax error: unexpected end of file
He intentado finalizar poniendo exit pero tampoco funciona, creai que podia ser por no termina el if pro si pongo fi (para finalizar) me da de nuevo error con el fi

Espero que podais ayudarme
Gracias

Design by xactive -