Come resettare $ PATH?


13

Stavo cercando di aggiungere qualcosa a $ PATH ed è andato completamente storto. Ora non posso eseguire alcun comando come ls. Ho esaminato questa risposta e utilizzato le seguenti righe:

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
PATH=$PATH:~/bin

Queste righe risolvono temporaneamente il problema; tuttavia, quando riavvio il terminale sembra dimenticare queste modifiche.

Come posso resettare permanentemente il mio $ PATH?

Sto eseguendo la versione più recente di Mountain Lion.


5
Risolto il problema:/bin/rm ~/.bash_profile
Nosrettap,

2
Buona domanda. Puoi sempre mettere la tua soluzione in una risposta.
bassplayer7,

Anche chiesto al superutente
Glenn Jackman,

1
Comprendendo che hai già risolto il tuo problema, gli utenti con un problema simile potrebbero anche trovare aiuto a/etc/paths
David Smith,

Risposte:


15

La risposta suggerita di rimozione .bash_profilenon è una buona idea in generale. Ci sono altre cose che possono essere impostate in quel file oltre alle PATHdefinizioni.

Se vuoi annullare gli effetti della tua sperimentazione, rimuovi o commenta quella PATHriga con a #.

Non vuoi modificarlo PATHda zero, ma aggiungilo, come hai fatto con la tua seconda riga. Il metodo preferito per aggiungere qualcosa al tuo percorso sarebbe:

export PATH=$PATH:$HOME/bin

MODIFICA Poiché il tuo PATHè incasinato, non hai accesso ai soliti comandi per apportare queste modifiche. Come soluzione temporanea, puoi definire un nuovo percorso minimo in una finestra Terminale (non nella tua .bash_profile) digitando:

PATH=/bin:/usr/bin

Questo ti darà temporaneamente accesso nano ls mv vi cate rm- gli strumenti di base per controllare e modificare il tuo .bash_profilee risolvere il tuo problema ...

Ripeti, non collocare questa PATHdefinizione ovunque, tranne per la durata della sessione mentre esegui le correzioni.


5

Io raccomando:

source /etc/profile

Questo è ciò che Mac utilizza per impostare il percorso iniziale e rimetterà tutto a posto tranne gli elementi che stai aggiungendo per il tuo utente.

Faccio una discreta quantità di modifica del percorso nel mio ~ / .bash_profile, e l'ho posizionato in cima al file perché avevo problemi con il ricaricare il mio profilo mentre lavoro dopo aver modificato un alias o qualcosa del genere e stava aggiungendo riferimenti duplicati al mio percorso. Invece di controllare per vedere se è già stato aggiunto, ho semplicemente resettato il mio percorso alla versione scratch e ho ricollegato gli elementi desiderati.


3

Rimuovere il profilo bash per ripristinare il valore predefinito $PATH. Immettere il comando seguente in Terminal.app :

/bin/rm ~/.bash_profile

La modifica avverrà con la prossima shell o sessione terminale.


Rispondere, in base ai commenti dell'interrogatore originale, per rimuovere la domanda dalla coda senza risposta.
Graham Miln,

4
Bene, se vuoi mantenere altri contenuti del tuo profilo, un semplice /bin/mv ~/.bash_profile ~/bash_profilepotrebbe essere migliore
nohillside

1
Questa è la risposta più semplice che ho trovato in tutti i siti Web SE. Grazie!
mr5,

0

L'impostazione predefinita di OSX $PATHè generata dal contenuto del /etc/pathsfile, è abbastanza semplice da modificare.


1
La modifica /etc/pathscomporta il rischio che le modifiche vengano sovrascritte dal prossimo aggiornamento di OS X, inoltre questo non funziona per percorsi specifici dell'utente come ~/bin.
Nohillside

È vero, anche se di solito gestisco quelli nel mio .rc più tardi. Inoltre non ho ancora avuto il mio /etc/pathsreset da un aggiornamento (diversi anni da quando ho iniziato a utilizzare brew).
Chris Keele,

Attualmente hacking su un provisioning boxen che spero mi renderà impermeabile ai futuri aggiornamenti di sovrascrittura.
Chris Keele,

0

Questi metodi sono fantastici! Se hai questo problema con zsh, rimuovi ~/.zshrcQuesto però eliminerà le tue impostazioni zsh.


Preferiresti conservarne una copia/bin/mv ~/.bash_profile{,.bck}
MauroPorras il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.