Cuando uso la línea de comando Bash, puedo, por ejemplo, cambiar a un directorio usando...
cd /volumes
Sin embargo me gustaría escribir...
cd /vol*
pero eso no funciona. ¿Existe alguna forma de navegar por directorios utilizando comodines?
Respuesta1
Mac OS utiliza de forma predeterminada un sistema de archivos que no distingue entre mayúsculas y minúsculas. cd /volumes
es equivalente a cd /Volumes
, pero bash no puede incluir vol*
: intentecd /Vol*
Respuesta2
Como dijo @William Pursell, esto se debe a que la carpeta se llama /Volumes, no /volumes; el sistema de archivos OS X no distingue entre mayúsculas y minúsculas, por lo que ignora la diferencia, pero bash distingue entre mayúsculas y minúsculas y tropieza con la diferencia.
Pero puede cambiar el comportamiento predeterminado de bash: para que realice expansiones de patrones de archivos que no distingan entre mayúsculas y minúsculas, agregue el comando shopt -s nocaseglob
a sus archivos ~/.bashrc y ~/.bash_profile (es necesario en ambos, por lo que la opción está configurada en ambos shells de inicio de sesión). y subcapas). Si también desea que la finalización del nombre de archivo funcione a pesar de las discrepancias entre mayúsculas y minúsculas, agréguelo set completion-ignore-case on
a su archivo ~/.inputrc o agréguelo bind "set completion-ignore-case on"
a sus archivos ~/.bashrc y ~/.bash_profile.
Respuesta3
Mecanografía:
cd /vol*
obrasmuy bien. Incluso si /vol*
se expande a varios directorios, bash
utilizará el primero e ignorará el resto. ¿Qué es exactamente lo que no te funciona?