No se puede cambiar el directorio en la Terminal si el destino tiene espacios en él

2

Conecté mi HD externo, luego en una Terminal, escribo

ls /Volumes/TOSHIBA\ EXT

Enumera los archivos y carpetas como se esperaba, pero luego ingresa:

cd /Volumes/TOSHIBA\ EXT

lanza el siguiente mensaje

-bash: cd: /Volumes/TOSHIBA\: No such file or directory

Incluso puedo reproducir este comportamiento con mis propias carpetas.

¿Qué está pasando aquí? ¿Cómo puedo cambiar a un directorio cuando tiene espacios?

este es el contexto de mi entorno

uname -vsr
Darwin 17.5.0 Darwin Kernel Version 17.5.0: Mon Mar 5 22:24:32 PST 2018; root:xnu-4570.51.1~1/RELEASE_X86_64
    
pregunta user287257 29.04.2018 - 18:59

2 respuestas

5

Los espacios en los nombres de archivos pueden ser una molestia en el shell. Su mejor solución sería envolver el nombre con caracteres " y usar el shell incorporado para completar el nombre correcto.

Escriba cd "/Volumes/TOSH y luego escriba una tab y el shell completará el nombre con los espacios y los caracteres no estándar incluidos. Si la pestaña completa la ruta completa, el shell incluso insertará un "/ al final para que esté listo para luego presionar regresar.

Tenga en cuenta que la finalización estándar de bash funcionará en las rutas y nombres de archivos para la mayoría de los comandos de shell, no solo en cd .

    
respondido por el Tony Williams 30.04.2018 - 04:35
0

Guiado por esta respuesta I encontré que GVM2 "Golang Version Manager" agregó la función de CD en mi PATH, que de alguna manera tuvo prioridad sobre el CD BASH.

    
respondido por el user287257 09.05.2018 - 14:37

Lea otras preguntas en las etiquetas