9 votos

¿Cómo utilizo homebrew menos en vez de sistema menos?

He instalado less a través de

homebrew install less

pero less comienza la versión de sistema de less, no el que se instala a través de homebrew. which less muestra:

$ which -a less
/usr/local/bin/less
/usr/bin/less

donde /usr/local/bin/less es un enlace simbólico a ../Cellar/less/487/bin/less (homebrew less) y /usr/bin/less es el sistema de less. echo $LESS no devuelve nada. ¿Cómo puedo iniciar el homebrew less en lugar de sistema de less por defecto?

15voto

Hakunka-Matata Puntos 1

Esto podría ser debido a bash hash de la tabla de comandos (en PATH sigue utilizando el antiguo valor. Quitar el hash de less, o borrar el hash, por lo que bash re-busca PATH:

hash -d less
# or, hash -r

También puede agregar manualmente una ruta a la tabla:

hash -p /usr/local/bin/less less

Desde el manual de Bash (el énfasis es mío):

Si el nombre no es una función de shell ni un builtin, y no contiene barras, Bash busca que cada elemento de la $PATH de un directorio contiene un archivo ejecutable con ese nombre. Bash utiliza una tabla hash para recuerde que las rutas de acceso completa de los archivos ejecutables de evitar múltiples PATH búsquedas (véase la descripción de hash en Bourne Shell Builtins). Un búsqueda completa de los directorios en $PATH se realiza sólo si el comando no se encuentra en la tabla hash.

4voto

lhagan Puntos 31

Si homebrew está correctamente instalada /usr/local/bin/ se comprueba antes de la /usr/bin/. Verifique esto con echo $PATH, esto le mostrará la ruta de acceso es el sistema operativo está tratando de encontrar el comando que entró y se está tratando de colocarlas en el orden que se muestra.

Un poco más elegante
utilizando el shell bash:

echo $PATH | awk '{ n = split($0, paths, ":"); for (i=0; ++i <= n;) print i, paths[i] }'

(el uso de los peces shell):

echo $PATH | awk '{ n = split($0, paths, " "); for (i=0; ++i <= n;) print i, paths[i] }'

Esto le mostrará una lista numerada de la ruta de acceso del tratado. Mina de muestra

1 /Users/peter/.gem/ruby/2.0.0/bin
2 /usr/local/sbin
3 /usr/local/bin
4 /usr/bin
5 /bin
6 /usr/sbin
7 /sbin
8 /Library/TeX/texbin

El sistema de recorrer los directorios en el orden en que se busca para los comandos, en su caso less. Si no es en la primera, se tratará el siguiente hasta que se queda sin opciones y tirar un error.

Así que si tu echo $PATH muestra resultados similares como el mío que está utilizando la versión de homebrew de menos.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X