Ritorni del terminale non trovati per la maggior parte dei comandi Mac OSX


16

Sono davvero nuovo ai sistemi basati su Mac OSX e UNIX. Volevo eseguire alcuni giochi Windows sul mio Mac Mini, quindi ho iniziato a installare Wine e MacPorts.

Fatto ciò, ho digitato sudo port install winee il terminale ha restituito un errore non trovato. Ho provato altri comandi di base come saye cleare tutti restituiscono l'errore non trovato. Ho cercato su Google e tutto ciò che ho capito finora è che il PERCORSO potrebbe essere impostato in modo errato. Quindi ho eseguito questo comando: echo $PATHe ha restituito questo:

/ Opt / local / bin: / opt / local / sbin: / opt / local / bin: / opt / local / sbin: / opt / local / bin

Qualcuno può dirmi come impostare correttamente questo percorso? Sono un principiante completo per Mac e non ho idea di dove .bash_profile o di quei file. Se aiuta, ho anche installato Xcode e gli strumenti da riga di comando per Xcode. Sto correndo Mountain Lion.


3
Sfortunatamente penso che tu abbia bisogno di un tutorial su Unix poiché, sebbene possiamo rispondere alla domanda, probabilmente non siamo in grado di fornire un background sufficiente per aiutarti a capirlo. Per quanto riguarda Wine, il più semplice è provare Crossover (costi) o Wineskin (gratuito) che non richiedono l'uso del terminale
user151019

Risposte:


12

$ PATH dovrebbe contenere queste cartelle: /usr/bin:/usr/sbin:/bin:/sbin.

Prova a modificare ~/.bash_profile, ~/.profileo ~/.bash_login(con per esempio /usr/bin/open ~/.bash_profile -a TextEdit) e commentando ogni linee che modificano il percorso.

Se funziona, puoi aggiungere una riga come export PATH=/opt/local/bin:/opt/local/sbin:$PATHa ~/.bash_profile.


Ho provato a esportare PATH = / usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin e funziona, ma una volta chiuso e riaperto il terminale, torna di nuovo allo stesso errore. Sono un noob completo e non ho idea di dove si trovi ~ / .bash_profile o uno di quei file. Sto assumendo che siano nascosti?
Jack Copeland,

~/è la cartella principale ( /Users/username/). I file che iniziano con un punto sono nascosti, ma puoi mostrarli con ad esempio ls -la.
Lri,

il mio .bash_profile contiene già tutto questo ma ho ancora lo stesso problema con comandi come ng o mssql quando li
invio

3

Un problema simile mi stava accadendo, quindi quello che ho fatto è stato:

1) digitando export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"nel terminale per farlo funzionare temporaneamente

2) Modifica bash_profile digitando /usr/bin/open ~/.bash_profile -a TextEdit

3) Quando ho aperto il mio file bash_profile mi sono reso conto che l'ultima riga dell'esportazione sembrava davvero disordinata con alcuni strani simboli, quindi l'ho cambiata completamente in export PATH=/opt/local/bin:/opt/local/sbin:$PATH

Sono assolutamente principiante in questo, ma sono riuscito a ottenere quei passaggi leggendo pezzi di soluzioni da diverse domande su SE, quindi spero che possa aiutare qualcun altro.


2

Sembra che tu abbia sovrascritto il tuo percorso piuttosto che aggiungerlo ad esso.

Quando si imposta il PERCORSO, assicurarsi di includere "${PATH}"anche il percorso esistente.

Per impostazione predefinita, $ PATH è impostato in un paio di file. Tecnicamente dovresti aggiungere a $ PATH nel file .bash_profile nella tua home directory.

Un suggerimento se verificare se esiste una determinata cartella prima di aggiungerli al PERCORSO.

Ad esempio ho:

if [ -d /usr/local/bin ] ; then
    PATH=/usr/local/bin:"${PATH}"
fi

if [ -d /usr/local/mysql/bin ] ; then
    PATH=/usr/local/mysql/bin:"${PATH}"
fi

if [ -d /opt/local/bin ] ; then
    PATH=/opt/local/bin:"${PATH}"
fi

if [ -d /opt/local/sbin ] ; then
    PATH=/opt/local/sbin:"${PATH}"
fi

if [ -d ~/bin ] ; then
    PATH=~/bin:"${PATH}"
fi

(Il -d directorycomando verifica se la directory esiste)


1

Per me sono arrivato a questo preciso problema quando ho tentato di aggiungere una nuova directory a PATH usando un comando di esportazione errato nel mio ~/.bash_profile. Entrambi gli esempi seguenti.

export PATH=/some/new/path:PATH (incorrect, note missing $)

vs

export PATH=/some/new/path:$PATH (correct)

0

Oltre alla correzione che risponde, vorrei anche chiamare una cosa da testare.

Se la tua finestra corrente ha semplicemente una variabile PATH errata e il tuo sistema non è più rotto, puoi correggere facilmente il percorso:

echo $PATH
/usr/libexec/path_helper

Confronta l'output dei due comandi precedenti. Se si desidera tornare a un percorso "sicuro", basta copiare e incollare la linea che path_helperfornisce in quel terminale. Su un sistema Mac 10.11 non modificato, dovresti avere questo output dallo strumento helper:

PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"; export PATH;

Se il tuo percorso deve essere personalizzato, cerca anche le risposte eccellenti su questa domanda.


1
Oppure potresti generare PATH=$(/usr/bin/getconf PATH)un PATH utilizzabile nella shell corrente. /usr/localnon esiste su un sistema non modificato.
fd0

Eccellente @fdo - Non sono a conoscenza di ciò che potrebbe rovinare getconf in modo che possa essere buono come solo cose difficili da programmare. È anche più breve della mia correzione "forza bruta".
bmike

path_helpercostruisce il PERCORSO dal PERCORSO corrente, il /etc/pathsfile e tutti i file all'interno /etc/paths.d. Può anche essere influenzato da qualsiasi impostazione PATH in /etc/launchd.conf. getconfstampa il sistema PATH hard coded nel kernel- sysctl user.cs_path.
fd0

0

Il tuo ./bash_profile del tuo terminale potrebbe essere stato sovrascritto.

Utilizzare export PATH=/usr/bin:/bin:/usr/sbin:/sbin/usr/local/binnel terminale per riscrivere temporaneamente le impostazioni PATH correnti. Questo dovrebbe darti accesso sudoe nanoche utilizzerai nano .bash_profile. Per me, l'eliminazione di tutto nel file ha funzionato.

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.