Respuestas:
Puede usar la Tabtecla después de presionar los primeros caracteres (esto "rellenará" el resto de la carpeta para usted, por ejemplo, escriba cd ~/L
Tabrellena, cd ~/Library/
luego escriba Ap
Taby completará el resto por usted.
Si hay un espacio entre las palabras y no desea utilizar los métodos anteriores, coloque una \
(barra invertida) antes del espacio, por ejemplo cd ~/Library/Application\ Support
.
shopt -s nocaseglob
y bind 'set completion-ignore-case on'
hacer que bash sea menos sensible a mayúsculas y minúsculas.
El tema central aquí es cómo el shell ( bash ) hace citas y cómo eso afecta la expansión de tilde y la división en "palabras" (argumentos para el programa que se ejecuta).
bash solo trata la tilde principal especialmente si no se cita. Además, no se debe citar la siguiente barra inclinada.
Al mismo tiempo, bash analiza las líneas de comando en "palabras" basadas en espacios en blanco sin comillas. El cd
comando generalmente requiere exactamente un argumento (el directorio de destino). Una línea de comando como cd foo bar
significa correr cd
con dos argumentos: foo
y bar
. Si solo desea enviar un solo foo bar
argumento, entonces necesita citar el espacio:
(por ejemplo) cd foo\ bar
(vea más ejemplos de citas a continuación).
En su situación particular, debe dejar la tilde y la siguiente barra sin comillas mientras cita el espacio en el nombre del directorio. Su cd "~/Library/Application Support/"
versión de prueba termina citando demasiado (la tilde y su barra inclinada), mientras que su cd ~/Library/Application Support/
versión de prueba cita muy poco (omite citar el espacio en el nombre del directorio).
La solución más común es usar el escape de un solo carácter para citar solo el espacio:
cd ~/Library/Application\ Support
También puede usar comillas simples o dobles alrededor del espacio o el espacio y algunos otros bits de ese argumento (¡pero no el ~/
!):
cd ~/Library/Application' 'Support
cd ~/Library/Application" "Support
cd ~/Library/App'lication 'Support
cd ~/Library/Application" Supp"ort
cd ~/'Library/Application 'Support
cd ~/"Library/Application "Support
Este tipo de citas tienen diferentes significados, pero son idénticos en estos ejemplos. Las comillas simples protegen las cadenas literales, mientras que las comillas dobles permiten diversas expansiones y sustituciones en la región citada.
A menudo, puede dejar que el shell haga el trabajo por usted.
Globbing (comodines):
cd ~/L*/Ap*
Puede usar shopt -s nocaseglob
para hacer que las mayúsculas y minúsculas no sean sensibles:
cd ~/l*/ap*
Terminación:
Presionar Tabdespués de ingresar cd ~/L
probablemente lo expandirá a cd ~/Library/
.
Presionando Tabnuevamente después de ingresar Ap
(ahora tiene cd ~/Library/Ap
) probablemente lo expandirá a cd ~/Library/Application\ Support/
(el shell insertó automáticamente la barra invertida de escape).
Puede usar bind 'set completion-ignore-case on'
para hacer que la terminación no distinga entre mayúsculas y minúsculas:
cd ~/l
Tab→ cd ~/Library/
; ap
Tab→cd ~/Library/Application\ Support/
<kbd></kbd>
etiqueta HTML (una de varias etiquetas HTML admitidas en la rebaja SE ).
Cuando cita una ruta dos veces, está deteniendo la expansión de tilde. Entonces, hay algunas maneras de hacer esto:
cd ~/"My Code"
cd ~/'My Code'
La tilde no se cita aquí, por lo que la expansión de tilde seguirá ejecutándose.
cd "$HOME/My Code"
Puede expandir variables de entorno dentro de cadenas entre comillas dobles; esto es básicamente lo que está haciendo la expansión tilde
cd ~/My\ Code
También puede escapar de caracteres especiales (como el espacio) con una barra diagonal inversa.
Puede probar esto para carpetas / archivos espaciados si el archivo o el nombre de la carpeta contiene 1) extensión de nombre de archivo, el comando debe ser cd ~ / file \ name.extension / (o) cd ~ / "file name.extension" /