Per utilizzare STDBUF dai coreutils di Homebrew

7

Eseguo brew search stdbuf e ottieni

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

Eseguo brew install coreutils ma ottengo Warning: coreutils-8.23_1 already installed .

Io non vedo stdbuf nel mio sistema.

$ std [tab]
stdethers  stdhosts   

Il mio PERCORSO è

/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

Disinstalla Macports

L'uso combinato di Macport e Homebrew causa conflitti. La soluzione finale è disinstallare Macports che è immaturo. Indipendentemente da quale sia il tuo PATH, Macports causa conflitti con i programmi nel PERCORSO. Ho capito il nocciolo del problema qui alla fine del corpo su Come ingrandire l'immagine del disco in VirtualBox?

Come si può usare stdbuf in OSX Yosemite?

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

3 risposte

8

Devi modificare il percorso aggiungendo coreutils dir prima di /usr/bin . Puoi fare qualcosa di simile:

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

E dovrebbe apparire come il seguente dopo le modifiche:

/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

Dopodiché, devi essere in grado di utilizzare stdbuf .

    
risposta data 26.06.2015 - 09:53
fonte
10

coreutils su OS X aggiunge il prefisso g a tutti i comandi in modo da non rovinare i programmi predefiniti su OS X.

Stampa questo quando esegui 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"

Quindi, a meno che tu non abbia davvero bisogno di usarlo come stdbuf , non c'è un vero motivo per aggiornare il tuo percorso, puoi semplicemente eseguire gstdbuf invece:

$ gstdbuf --help                                                         
Usage: gstdbuf OPTION... COMMAND 
    
risposta data 08.01.2016 - 19:25
fonte
1

Se non vuoi rovinare il tuo PATH e tutto ciò di cui hai bisogno è stdbuf:

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

Per qualsiasi motivo, ho anche già creato coreutils , ma solo determinati binari collegati, senza ricordare perché, questa sembrava l'opzione più sicura

    
risposta data 23.12.2015 - 00:20
fonte

Leggi altre domande sui tag