2011/11/24

Escapar espacios en blanco en variables en Bash

Hoy me he sentido un poco estúpido... la típica chorrada que no te acuerdas ni se te ocurre como solucionar. Lo pongo aquí etiquetado como "humor". :D

En un script para la línea de comandos, tenía que entrar en un directorio con espacios en su nombre.

Pues no era capaz...
> foo="/tmp/foo bar/" 
> cd $foo 
bash: cd: /tmp/foo: No such file or directory 

Intenté todas las combinaciones posible para escapar el espacio y mil trucos.

Solución:
> foo="/tmp/foo bar/" 
> cd "$foo" 


Las comillas!!!!
       
   

2 comentarios:

Anónimo dijo...

Gracias Nacho!!! yo tampoco lo recordaba y ya llevaba dos dias buscándolo.

roberto dijo...

Me pasaba lo mismo con el parametro de un script! ponia $1 y si pasaba parametro con espacio no funcionaba. Estaba convencido que entre comillas no funcionaria! jeje gracias por aclararlo, perdí 30 minutos probando hasta que te encontré googleando :)