Te falta un cierre de case (
esac)
Tratá de ordenar mejor el código asi podes darte cuenta dónde te faltan cierres.
Saludos.
Código bash:
Ver original#!/bin/bash
opcion=9
while [ $opcion != 4 ]
do
echo "1- Directorios"
echo "2- Archivos"
echo "3- Procesos"
echo "4- Salir"
read opcion
case $opcion in
1)
echo "1- Mover directorio"
echo "2- Renombrar"
echo "2- Mostrar peso directorio"
read opcion2
case $opcion2 in
1)
echo "Ruta"
read $ruta
echo "Destino"
read $destino
mv -r $ruta/* $destino
;;
2)
echo "Renombrar"
echo "Ingrese nombre actual"
read $nombre1
echo "Ingrese nombre nuevo"
read $nombre2
mv $nombre1 $nombre2
echo "presione tecla"
echo adsr
;;
3)
echo "Mostrar peso de directorio"
echo "Ingrese ruta"
read $ruta
dv $ruta -h -m ;;
esac
esac
done