È possibile ottenere la suite completa di opzioni unix per gli strumenti da riga di comando su OS X?

13

Seguo Unix Tool Tip su Twitter ed è interessante notare che molti dei suggerimenti pubblicati non sono disponibili su OS X.

Ad esempio:

cp - u will only copy files that don't exist, or are newer than their existing counterparts, in the destination directory.

Provando questo sul mio computer risulta:

cp: illegal option -- u
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
   cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory  

Perché queste opzioni non sono disponibili ed è possibile accedervi da OS X?

    
posta KennyPeanuts 09.05.2013 - 16:59
fonte

2 risposte

11

Ottieni homebrew e installane le utilità principali. Puoi quindi vedere se la versione GNU di cp supporta le bandiere che desideri. Ecco una buona risposta su un sito partner e tratterò i passaggi esatti necessari per far sì che cp venga sostituito dalla versione GNU, se lo desideri:

Ecco homebrew - link
Ecco la lunga storia: link

Un esempio di tale ambiente è [Homebrew] ( link ) che ad esempio ha GNU sed tra le altre cose . Una volta installato Homebrew, puoi digitare

brew install coreutils

e installa GNU Coreutils . Questi ti forniranno sed , date , printf , wc e molti altri strumenti forniti con GNU / Linux, ma non OS X. Tuttavia, per non "sovrascrivere" i binari predefiniti di OS X, per impostazione predefinita avranno come prefisso g . Quindi, dopo aver installato Coreutils, se si desidera utilizzare GNU sed, digitare

gsed

Se questa è una seccatura da digitare ogni volta, puoi aggiungere una directory "gnubin" al tuo PATH e chiamare semplicemente GNU sed con sed . Dovrai aggiungere quanto segue al tuo ~/.bash_profile :

PATH="$(brew --prefix coreutils)/libexec/gnubin:$PATH"
risposta data 09.05.2013 - 17:23
fonte
3

Il motivo è che OSX usa gli strumenti della riga di comando BSD e gli utenti di Unix suggeriscono che probabilmente usano Linux che usa gli strumenti della riga di comando GNU.

Puoi installare gli strumenti GNU su OSX (e BSD su Linux).

Il modo più semplice è usare un gestore di pacchetti come Macports, Homebrew o Fink

    
risposta data 09.05.2013 - 17:06
fonte

Leggi altre domande sui tag