bash : 20 : missing

Imagen de 666lawyer
0 puntos

Tengo el siguiente script, pero me da error [: 20 : missing ]
La línea 20 es : done
Alguna idea. Soy nuevo en esto de programación bash

!#/bin/bash

while true

do

clear
DIR='/home'
num=' ls -a $DIR | wc -w'
if [ $num -eq 2]
then {
echo "vacio"
}
else {
echo "no vacio"
}
fi
sleep 5

done

Imagen de 666lawyer
+1
0
-1

Había varios errores. Este funciona para grabar si existen archivos en un directorio en un pen

#!/bin/bash

while true

do

DIR="/home/shiva/Documentos/pen"

num=`ls -a $DIR | wc -w`

if [ $num -gt 2 ];
then {

dispositivo=`cat /proc/diskstats | grep "sdb.\ " | awk '{ print ($3) }'`;
punto_de_montaje=`mount | grep $dispositivo | cut -d" " -f 3`
if [ "$punto_de_montaje" != "" ];
then
cd $DIR
cp * $punto_de_montaje/
rm *
cd $HOME
fi

sync
sleep 2

}
fi

sleep 5

done

+1
0
-1

666lawyer