2011-11-27 22 views

risposta

13

È possibile eseguire which ruby per scoprire dove verrà eseguito il ruby ​​se si digita ruby nel Terminale.

Se si desidera trovare ulteriori informazioni conoscere il file eseguibile, è possibile eseguire:

$ ls -l $(which ruby) 
lrwxr-xr-x 1 root wheel 76 Nov 8 12:56 /usr/bin/ruby -> ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby 

Cioè, eseguire which ruby, e passare i risultati di tale in ls -l, che vi mostrerà che in realtà è un collegamento simbolico al binario nel framework Ruby. È inoltre possibile utilizzare file per scoprire che tipo di file è:

$ file $(which ruby) 
/usr/bin/ruby: Mach-O universal binary with 2 architectures 
/usr/bin/ruby (for architecture x86_64): Mach-O 64-bit executable x86_64 
/usr/bin/ruby (for architecture i386): Mach-O executable i386 

Se si vuole fare in modo di eseguire il rubino che si trova nel percorso dell'utente da uno script, invece di hardcoding dove Ruby è, è è possibile utilizzare il seguente direttiva interprete nella parte superiore dello script:

#!/usr/bin/env ruby 

Questo funziona perché praticamente tutti i sistemi moderni hanno un eseguibile a /usr/bin/env che eseguirà l'utility che si passa ad esso basato sul vostro cammino; quindi, invece di codificare nello script /usr/bin/ruby, puoi fare in modo che lo env cerchi il tuo percorso per te.

3

whereis ruby in una finestra di terminale vi dirà

+3

In generale, 'which' è più affidabile di' whereis'. 'which' troverà quello che è effettivamente nel tuo percorso, mentre' whereis' apparirà in certe directory standard; se hai delle directory non standard nel tuo percorso (come '/ opt/local/bin' per MacPorts),' whereis' non troverà quello che stai cercando. –

2

Si dovrebbe trovare sotto System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby
e link simbolico a /usr/bin/ruby.

in esecuzione which ruby fornisce la posizione esatta del rubino utilizzato se nel sistema sono presenti una o più implementazioni.