Para usar STDBUF de los coreutils de Homebrew

7

Ejecuto brew search stdbuf y obtengo

No formula found for "stdbuf".
Searching pull requests...
Closed pull requests:
coreutils: upstream fix for stdbuf (https://github.com/Homebrew/homebrew/pull/32955)

Ejecuto brew install coreutils pero obtengo Warning: coreutils-8.23_1 already installed .

Lo hago pero no veo stdbuf en mi sistema.

$ std [tab]
stdethers  stdhosts   

Mi ruta es

/usr/local/bin:/usr/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:
/sbin:/opt/X11/bin:/usr/local/git/bin:/usr/texbin:/Users/masi/.cabal/bin

Desinstalar Macports

El uso de Macports y Homebrew juntos causan conflictos. La solución final es desinstalar Macports que es inmaduro. Independientemente de cuál sea su RUTA, Macports causa conflictos con los programas en la RUTA. Me di cuenta del núcleo del problema aquí al final del cuerpo sobre Cómo ampliar la imagen de disco en VirtualBox?

¿Cómo puedes usar stdbuf en OSX Yosemite?

    
pregunta Léo Léopold Hertz 준영 26.06.2015 - 08:26

3 respuestas

8

Tienes que modificar tu ruta agregando coreutils dir antes de /usr/bin . Puedes hacer algo como esto:

export PATH=/usr/local/opt/coreutils/libexec/gnubin:$PATH

Y debe tener el siguiente aspecto después de los cambios:

/usr/local/opt/coreutils/libexec/gnubin:/usr/local/bin:/usr/bin:
/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:
/sbin:/opt/X11/bin:/usr/local/git/bin:/usr/texbin:
/Users/masi/.cabal/bin

Después de eso, debes poder usar stdbuf .

    
respondido por el jherran 26.06.2015 - 09:53
10

coreutils en OS X agrega el prefijo g a todos los comandos para no estropear los programas predeterminados en OS X.

Imprime esto cuando ejecutas brew install coreutils

==> Caveats
All commands have been installed with the prefix 'g'.

If you really need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your bashrc like:

    PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"

Entonces, a menos que realmente necesite usarlo como stdbuf , no hay una razón real para actualizar su ruta, simplemente puede ejecutar gstdbuf en su lugar:

$ gstdbuf --help                                                         
Usage: gstdbuf OPTION... COMMAND 
    
respondido por el Kostub Deshmukh 08.01.2016 - 19:25
1

Si no quiere meterse con su RUTA y todo lo que necesita es stdbuf:

cd /usr/local/bin
sudo ln -s ../opt/coreutils/libexec/gnubin/stdbuf stdbuf

Por alguna razón, también ya tenía coreutils preparado, pero solo ciertos binarios vinculados, sin recordar por qué, esta parecía la opción más segura

    
respondido por el rymo 23.12.2015 - 00:20

Lea otras preguntas en las etiquetas