2016-09-02 3 views
1

Wenn es wichtig ist mein Setup ist Zshell mit Prezto auf OSX. Ich habe einen Heroku-Pfad, den ich nicht brauche. Vor Jahren erinnere ich mich an ein Heroku-Tutorial. Ich bin unsicher, wo es angegeben ist. Ich würde auch gerne wissen, ob diese Rvm-Pfade an der Spitze sein sollten. Ein Teil der Ausgabe von echo $PATH stammt aus meiner .zhsrc-Datei. Ich bin unsicher, wo andere Teile davon herkommen.

echo "${PATH//:/'\n'}" 
/usr/local/heroku/bin' 
'/Users/joe/.rvm/gems/ruby-2.2.0/bin' 
'/Users/joe/.rvm/gems/[email protected]/bin' 
'/Users/joe/.rvm/rubies/ruby-2.2.0/bin' 
'/usr/local/bin' 
'/usr/bin' 
'/bin' 
'/usr/sbin' 
'/sbin' 
'~/.composer/vendor/bin' 
'/opt/X11/bin' 
'/usr/local/MacGPG2/bin' 
'/usr/local/bin' 
'/usr/local/sbin' 
'/usr/local/bin/node' 
'/Users/joe/Library/wpcs/vendor/squizlabs/php_codesniffer/scripts' 
'~/.composer/vendor/bin' 
'/Users/joe/.rvm/bin 

$ cat /etc/paths kehrt:

/usr/bin 
/bin 
/usr/sbin 
/sbin 
~/.composer/vendor/bin 
+0

Set und exportieren Sie eine 'PS4', die sowohl druckt den Namen der Datei ausgeführt wird, und die Zeilennummer, und führen Sie' PATH =/usr/local/bin:/usr/bin :/bin zsh -l -i -x', um eine interaktive Login-Shell auszuführen, die diese 'PS4' vor jedem Befehl (und dann diesem Befehl, wie erweitert) nach stderr druckt. Erfassen Sie diesen stderr in einer Datei, durchsuchen Sie die Datei nach den Einträgen, die Sie nicht wollen/erwarten, und schon sind Sie da. –

+0

Vielen Dank Charles, aber was Sie vorschlagen, ist jenseits meines Verständnisses. Ich habe gelernt, dass PS4 mit dem Debuggen zu tun hat. Dieser Befehl gibt mir einige Ausgaben 'PS4 =; Satz -x; PATH =/usr/local/bin:/usr/bin:/bin zsh -l -i -x' Ich nehme stderr nicht in eine Datei auf. Ich fand die rvm und heroku Wege, die von '.zlogin' kommen – JAstuccio

+0

Sie müssen tatsächlich einen Wert in PS4 setzen und spezifizieren, was Sie es loggen möchten. Es auf eine leere Zeichenfolge zu setzen, ist nutzlos. Das heißt, während ich einen guten PS4-Wert für Bash offhand angeben konnte, ist zsh aus meinem Steuerhaus. (Verwendet, um es vor mehr als einem Jahrzehnt zu verwenden, gelobte nie wieder, nachdem ich sah, wie schlampig mein scripting wurde, wenn sie auf POSIX-Shells zielte). –

Antwort

1

Es gibt viele Orte zu suchen. Ich würde diese empfehlen:

grep PATH etc/zshenv 
grep PATH ~/.zshenv 
grep PATH etc/zprofile 
grep PATH ~/.zprofile 
grep PATH etc/zshrc  
grep PATH ~/.zshrc  
grep PATH etc/zlogin 
grep PATH ~/.zlogin 
+2

Da das OP Tools wie rvm verwendet, gibt es * definitiv * Scripts, die aus den dotfiles stammen, die PATH selbst modifizieren - was bedeutet, dass man nicht nur diese Dateien überprüfen muss, sondern alles, was sie enthalten/einbeziehen. Leichter ist es, die tatsächliche Ausführung zu protokollieren und somit sicher zu sein, alles zu bekommen. –