¿Los comandos bash en OSX no distinguen entre mayúsculas y minúsculas? Escribo "which TR" y muestra / usr / bin / TR, aunque no existe ese binario allí. Lo mismo para otros binarios, cuando se capitalizan. ¿O es que Terminal.app está haciendo esta traducción? ¿Cómo apago esto?
79
locale
y completa-ignore-case / nocaseglobRespuestas:
Esta es en realidad una característica del sistema de archivos de su disco, no bash o Terminal.app.
HFS + (el sistema de archivos Mac) generalmente está configurado para no ser sensible a mayúsculas y minúsculas, pero preservar mayúsculas y minúsculas . Esto significa que el sistema de archivos considerará
foo
yFoO
será el mismo, pero cuando cree un nuevo archivo recordará qué letras se escribieron con mayúscula y cuáles no.Cuando formatea un disco con HFS +, puede elegir si el sistema de archivos debe distinguir entre mayúsculas y minúsculas o no. Si elige formatear con UFS (Unix FileSystem) siempre distingue entre mayúsculas y minúsculas, AFAIK.
Para verificar si un disco distingue entre mayúsculas y minúsculas, ejecute:
Por ejemplo:
Busca la
Name:
línea. Si lee algo asíMac OS Extended (Case-sensitive, Journaled)
significa que distingue entre mayúsculas y minúsculas. Si sólo se leeMac OS Extended
(sinCase-sensitive
) entonces es sólo el caso preservando pero no entre mayúsculas y minúsculas .fuente
i
correspondientes a las mayúsculas punteadasİ
, mientras que las mayúsculas sinI
puntos corresponden a las minúsculas DOTLESSı
, pero CUALQUIER solución será mala. ¿Y qué hay del alemánß
, a menudo capitalizado con 2S
s? ¿Y acentos que a menudo se dejan de lado al capitalizar? Y ... La sensibilidad a mayúsculas y minúsculas elimina todos estos dolores de cabeza.Eche un vistazo a su sistema de archivos, ya que hay variaciones entre mayúsculas y minúsculas en HFS. El valor predeterminado no distingue entre mayúsculas y minúsculas, en cuyo caso no se trata tanto de BASH como del sistema de archivos subyacente. Puede probar esto formateando una memoria USB de repuesto con la opción de mayúsculas y minúsculas y copiando archivos para repetir su prueba, etc.
fuente
Logré arreglar esto con una línea siguiendo http://blog.nickburwell.com/blog/2008/11/mac-os-x-terminal-case-insensitive-auto
fuente
Bash definitivamente distingue entre mayúsculas y minúsculas.
Simplemente escribí 'whoami' en la terminal y el botón de bloqueo de mayúsculas estaba activado.
Obtuve una respuesta completamente diferente de 'WHOAMI'.
Puedo ver que hay un comando de WHOAMI con 'which' pero no puedo encontrarlo con 'ls'.
fuente
whoami
programa en sí. En realidad, es el mismo programa queid
, pero comprueba con qué nombre se ejecutó y usa una salida diferente (equivalente aid -un
) si se ejecuta con el nombre "whoami". Ese cheque distingue entre mayúsculas y minúsculas. Comparar la salida deid
,WHOAMI
,WhOaMi
,WhoAmI
, etc Además, comparar la salida dells -li /usr/bin/whoami
frentels -li /usr/bin/WHOAMI
, y tenga en cuenta que el número de i-nodo (el primero que aparece en la salida) es el mismo - son dos formas diferentes de especificar exactamente el mismo archivo .