Domanda:
I percorsi bash_profile di OS X Mavericks non funzionano
ndemoreau
2013-10-29 19:20:31 UTC
view on stackexchange narkive permalink

Devo creare un nuovo percorso in OS X Mavericks.

Per farlo, ho modificato .bash_profile:

  export LC_ALL = "en_US.UTF-8" export PGHOST = localhostexport PATH = $ PATH: / usr / local / heroku / binexport PATH = $ PATH: /Applications/Postgres93.app/Contents/MacOS/bin  

Ma non funziona. Quando digito echo $ PATH, il risultato è:

  /usr/local/heroku/bin:/usr/local/rvm/gems/ruby-2.0.0-p0/bin:/ usr/local/rvm/gems/[email protected]/bin: /usr/local/rvm/rubies/ruby-2.0.0-p0/bin: / usr / local / rvm / bin: / usr /bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/nicolas/.rvm/bin:/usr/local/rvm/bin  

Questo è il contenuto del mio file .bashrc :

  PATH = $ PATH: $ HOME / .rvm / bin # Aggiungi RVM a PATH per scriptingPATH = $ PATH: / usr / local / rvm / bin # Aggiungi RVM a PATH per lo scripting  

Non ho (o trovo) un file .profile .

Cosa sto facendo di sbagliato?

Cinque risposte:
#1
+5
user69044
2014-01-30 21:00:26 UTC
view on stackexchange narkive permalink

Sono riuscito ad aggiungere un percorso su Mavericks procedendo come segue:

  sudo vi / etc / Routes  

Questo apre il file chiamato percorsi che include tutti i percorsi locali ecc. Alla fine di questo file ho aggiunto il percorso che volevo usando l'editor vi come mostrato nel comando sopra. Ho semplicemente aggiunto una riga come /Applications/blabla/my_bin.

Ti chiederà la tua password e poi sarà fatto. Ha funzionato per me, spero faccia lo stesso per te.

#2
+5
Ɱark Ƭ
2013-10-29 21:34:59 UTC
view on stackexchange narkive permalink

Dopo aver modificato il file di accesso, è necessario eseguire il comando sorgente sul file di accesso o creare una nuova sessione di terminale prima che le variabili di ambiente aggiornate siano disponibili.

Ad esempio:

  source .bash_profile  

Preferisco usare questo metodo di aggiunta al percorso. In questo modo, se il file viene eseguito più volte, $ PATH non aggiunge percorsi ridondanti.

  ### DELUXE-HOME-BIN-INSERT # (non rimuovere questo commento) ## echo $ PATH | grep -q -s "$ {HOME} / bin" se [$? -eq 1]; quindi PATH = $ PATH: / bin export PATHfi  
Ho riavviato il terminale mille volte ma non ha funzionato. Digitando source .bash_profile invece si aggiornano i percorsi ... Pazzo ... Io Google un po 'e si dice che riavviare il terminale non ricarica .bashrc ma dovrebbe ricaricare .bash_profile. Posso fare qualcosa per ricaricare bash_profile automaticamente ogni volta che riavvio il terminale?
Penso che il problema sia dovuto al fatto che uso zsh. Ho aggiunto il sorgente .bash_profile nel file .zshrc e sembra che ora si aggiorni correttamente. Grazie per l'aiuto!
cosa hai aggiunto esattamente e come? hai appena inserito ".bash_profile" da qualche parte nel file?
`.bash_profile` si applica solo alla shell bash. Se stai usando zsh, devi apportare modifiche al PATH ai file relativi a zsh, come `.zshrc`,` .zprofile` e `.zlogin`. Il tuo Mac è dotato di diverse shell, tra cui bash, zsh e poche altre. Ogni shell utilizza il proprio set di file di configurazione e puoi avere due diverse shell aperte contemporaneamente in diverse schede in Terminale o iTerm. Invece di cercare `.bash_profile` nel tuo` .zshrc`, dovresti impostare il PATH nel tuo `.zshrc` per mantenere le shell indipendenti l'una dall'altra.
#3
+3
Travis Reeder
2014-10-23 10:30:39 UTC
view on stackexchange narkive permalink

Aggiungilo al tuo file .zshrc :

  if [-f ~ / .bash_profile]; poi . ~ / .bash_profile; fi  

Questo caricherà il tuo .bash_profile mentre zsh sta caricando poiché non lo carica di default.

#4
  0
user1256923
2013-10-29 21:30:35 UTC
view on stackexchange narkive permalink

A parte il fatto che puoi semplicemente creare un file .profile , aggiungendo elementi al percorso, poiché Snow Leopard o Lion (molto probabilmente SL) viene fatto aggiungendo elementi ai percorsi . d .

  ls /etc/path*/etc/paths/etc/paths.d:40-XQuartz MacGPG2 TeX julia  

cioè vai a /etc/paths.d/

touch un file chiamato any_program_I_want_to_add_to_the_path , quindi modificalo per avere il percorso al programma:

  cat /etc/paths.d/julia/usr/local/juliacat /etc/paths.d/TeX/usr/texbin  

Chiudi il terminale e riavvialo.

"percorsi.d" è per le impostazioni a livello di sistema. Non rende obsoleta o impossibile l'impostazione diretta di "PATH".
Posso usarlo per impostare il percorso di una directory? Solo per assicurarmi di aver capito bene: creerei quindi un file chiamato "postgres" e aggiungerei questa riga nel file: /Applications/Postgres93.app/Contents/MacOS/bin?
sì, è così che è ora fatto nelle recenti versioni di OSX
#5
-2
bronson
2014-07-24 23:29:36 UTC
view on stackexchange narkive permalink

Se stai cercando di impostare percorsi / variabili / completamenti / ecc. utilizzando la sostituzione del processo su Mavericks, in questo modo:

 . < (completamento npm)  

Non funzionerà: https://lists.gnu.org/archive/html/bug-bash/2006-01/msg00018.html Bash si rifiuta di creare sorgenti da / dev / fds.

Fondamentalmente, il bash di Mavericks è troppo vecchio. Installa e configura il tuo account per utilizzare una bash più recente o riscrivi lo script per utilizzare file temporanei o processi denominati. Ecco un brutto esempio di una riscrittura: dotfiles commit

(aggiunto per altri ricercatori di Google che si imbattono in questa pagina)



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...