leer text de varias palabras desde la línea de command

Cuando estoy escribiendo un script de shell como este:

echo -n 'Enter description of new version: '; read desc; git commit -m $desc; 

y cuando estoy ingresando la descripción de varias palabras, solo está tomando una palabra en $ desc y me da errores como:

 Enter description of new version: hope it works error: pathspec 'it' did not match any file(s) known to git. error: pathspec 'works'' did not match any file(s) known to git. fatal: too many params 

y a veces está dando como:

 Enter description of new version: final check error: pathspec 'check'' did not match any file(s) known to git. fatal: Failed to resolve 'check'' as a valid ref. Everything up-to-date 

¿Cuál es el problema con mi script?

Sugiera la causa y la solución para leer la descripción de varias palabras de la command-line en la variable $ desc

He intentado usar:

 echo -n 'Enter description of new version: '; read text; desc="'"$text"'"; git commit -m $desc; 

Pero no sirve.

Gracias de antemano

Debes citar:

 git commit -m "$desc" 

La diferencia es la que está entre:

 git commit -m hope it works 

y

 git commit -m "hope it works" 

El primero intenta comprometer los files y works con el post hope , mientras que el segundo confirma el índice con el post " hope it works .