OS X - Crea una directory bin personale (~ / bin) ed esegui gli script senza specificare il loro percorso completo

18

Quindi, quello che sto cercando di fare è creare una directory bin personale nella mia cartella home. Ho creato la seguente cartella:

/Users/thi/bin

Ho inserito i miei script in questa cartella, ma se inserisco il Terminale:

myScript

Non funziona.

Mi è stato detto che devo esportare questo percorso bin, qualcosa relativo a echo $PATH , ma non so come farlo.

    
posta Thi G. 23.08.2013 - 14:32
fonte

3 risposte

19

Devi aggiungere quanto segue al file ~/.profile :

export PATH=/Users/thi/bin:$PATH

Then source ~/.profile

Nota che potrebbe essere necessario creare questo file e poiché inizia con . potrebbe non essere visibile nel mirino per la modifica tramite un'applicazione come un editor di testo. Per elencare tutti i file compresi quelli nascosti, utilizzare:

ls -la ~/
    
risposta data 23.08.2013 - 14:38
fonte
10

Se usi bash, aggiungi una riga come questa a ~/.bash_profile :

PATH=~/bin:$PATH

PATH è contrassegnato per l'esportazione per impostazione predefinita, quindi non è necessario utilizzare export .

Se esistono entrambi ~/.bash_profile e ~/.profile , bash legge solo ~/.bash_profile quando è invocato come shell di login interattiva. ~/.profile viene anche utilizzato da altre shell che potrebbero non comprendere le stesse opzioni di configurazione di bash.

Terminal e iTerm 2 aprono nuove shell come shell di login per impostazione predefinita. Quando bash viene invocato come shell di login interattiva, legge ~/.bash_profile ma non ~/.bashrc . Gli emulatori di terminale su altre piattaforme spesso aprono nuove shell come shell non di login, quindi per esempio bash legge ~/.bashrc ma non ~/.bash_profile . Gli utenti OS X spesso usano ~/.bash_profile come file di configurazione personale corrispondente a ~/.bashrc su altre piattaforme, ma è anche comune l'origine di ~/.bashrc da ~/.bash_profile o per dire a Terminal o iTerm 2 di aprire nuove shell come non- shell di login.

Puoi anche modificare il percorso più globalmente in /etc/paths o /etc/launchd.conf , ma in molti contesti il percorso sarà ancora predefinito su /usr/bin:/bin:/usr/sbin:/sbin . E ho solo davvero bisogno di cambiare il percorso nelle shell e negli editor di testo.

    
risposta data 23.08.2013 - 23:39
fonte
3

Generalmente inserirai percorsi aggiuntivi dopo $PATH come PATH=$PATH:/$HOME/bin perché se non vuoi sostituire un altro eseguibile con lo stesso nome che potrebbe essere in /bin , ecc.

    
risposta data 23.08.2013 - 17:42
fonte

Leggi altre domande sui tag