Você deve sempre (*) citar suas variáveis, particularmente se elas contiverem entradas arbitrárias do usuário.
Nesse caso, se você estiver criando scripts com bash , use colchetes duplos para que você não precise citar (bash é inteligente dessa forma) e use printf "%q"
para obter o bash para escapar do que precisa ser escapado:
ASOURCE="Home Photos 2012 camcorder" #example filename
if [[ -d $ASOURCE ]]; then
# directory exists
:
else
# Note how these vars are quoted:
echo "File does not exist: $1"
printf "DIR : %q\n" "$ASOURCE"
fi
(*) exceto quando você sabe exatamente quando não deseja citá-los.