De acuerdo, soy un usuario avanzado de Linux, es decir, me siento más a gusto cuando tengo acceso a la línea de comandos y estoy muy acostumbrado a usar GNU coreutils, así que ahora que he instalado GNU coreutils en Mac OS X usando Homebrew, ¿cómo haría para eliminar los coreutils integrados con los que viene el Mac OS X estándar?
Tenga en cuenta que estoy usando zsh, así que cuando configuro la ruta a algo, lo hago así:
path=(/usr/local/bin ~/.gem/ruby/2.0.0/bin ~/.nvm/bin ~/bin /bin $path)
quiero poder decir,
Incluya todo lo presente en la ruta actual en la nueva ruta, excluyendo estos archivos: /usr/bin/ls
, /usr/bin/grep
...
Agregue lo siguiente a su ruta para reemplazar las herramientas de OS X con Homebrew Coreutils:
$(brew --prefix coreutils)/libexec/gnubin
Según la sintaxis de zsh…
path=($(brew --prefix coreutils)/libexec/gnubin $path)
Primero, no desea eliminar ninguna de las herramientas de línea de comandos que proporciona Apple a menos que desee un sistema inestable/inutilizable. Sin embargo, en la forma tradicional de Unix/Linux, puede configurar su declaración de ruta para verificar /usr/local/bin
primero, por lo tanto, las utilidades instaladas allí (predeterminadas para homebrew) se usarán antes /usr/bin
(o /bin
). El problema restante está en los scripts de shell: debe ser explícito, ya que pueden ignorar su $PATH.
Alexej Magura
brew install everything from now on in 'coreutils'
que eso no es realmente lo que quiero? quiero una que digainclude everything in '/usr/bin' EXCEPT for this list of files
grg
$(brew --prefix coreutils)/libexec/gnubin
a su ruta existente significará que cualquier herramienta GNU reemplazará la herramienta relevante que se encuentra en /usr/bin. Si no existe en el contenedor de GNU, usará /usr/bin.Alexej Magura
$path
.grg