Saltar al contenido

¿Cómo puedo escribir espacio en Terminal en OS X?

No olvides que en las ciencias un error suele tener varias soluciones, por lo tanto aquí te compartiremos lo más óptimo y eficiente.

Solución:

La razón por la que no funciona es porque el shell divide los argumentos en espacios en blanco y, por lo tanto, cree que llamas cd con los dos argumentos October y Fall. Escape del espacio en blanco con como esto:

cd October Fall

Otra forma es ponerlo entre comillas simples o dobles como esta

cd 'October Fall'
cd "October Fall"

O simplemente arrastre y suelte la carpeta en la Terminal.

Pero, ¿por qué no simplemente escribe unos pocos caracteres y presiona Pestaña para autocompletar?

El shell realiza la división de palabras en los argumentos antes de pasarlos al comando que especifique. Esto significa que toma la línea (o, en algunos casos, las líneas) y la divide en varias palabras, por defecto en espacios, tabulaciones y saltos de línea.

Como mencionó Lưu Vĩnh Phúc, las barras invertidas y las comillas simples se pueden usar para evitar la división de palabras en caracteres individuales o todo lo que hay entre ellos, respectivamente. Las comillas dobles también funcionan:

cd "October Fall"

En este caso particular, ' y " se comportan de manera idéntica, pero tienen diferencias.

' desactiva toda la interpretación de caracteres especiales (incluso ), pero no puede contener un '. " solo deshabilita la división de palabras y la expansión del nombre del archivo (la expansión del nombre del archivo es cosas como ls *.mp3 para enumerar todos los archivos con nombres que terminan en .mp3. los * desencadena la expansión del nombre del archivo aquí). Ya que " permite algunas expansiones de argumentos, es útil si, por ejemplo, tiene un nombre de archivo con un espacio dentro de una variable:

$ filename=October Fall
$ #               ^-- Still need a backslash or quoting to prevent word 
$ #                   splitting here, but the backslash/quotes will not be stored
$ cd $filename
bash: cd: October: No such file or directory
$ cd '$filename'
bash: cd: $filename: No such file or directory
$ cd "$filename"
$ pwd
/path/to/October Fall

Tenga en cuenta que ' y " no causan (de forma predeterminada) que las palabras se dividan, por lo que esto, a pesar de ser complicado, funcionaría para usted:

cd "Oct"'ober F'"all"

Esto es útil si tiene algo como un directorio llamado Octobers' $HOME. los ' en ella rompería un solo par de ' citando, y dentro " cotizaciones, $HOME se expandirá a su directorio de inicio. Pero cualquiera de estas combinaciones (y muchas otras) funcionará de manera segura:

cd Octobers' $HOME
cd "Octobers' "'$HOME'
cd "Octobers' "$HOME
cd "Octobers' $HOME"

Otra cosa a tener en cuenta es que muchos shells modernos ofrecen finalización con pestañas. Tanto Bash como Zsh (probablemente Ksh también, pero no lo he probado) pueden expandir parte del nombre de un directorio a su nombre completo, completo con escape seguro a través de s. Asi que cd Octobers se convierte cd Octobers' $HOME. Es posible que tenga que presionar tabulador varias veces si hay varias coincidencias. Además, es posible que su shell no tenga habilitada la finalización de pestañas de forma predeterminada, consulte la documentación de su shell.

Sección de Reseñas y Valoraciones

Recuerda que te damos el privilegio valorar esta crónica si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *