Mac fragt Passwort nach CD im Terminal ab

Vor kurzem hat mein Mac angefangen, mich nach einem Passwort zu fragen, nachdem ich es cdin Terminal.app verwendet habe (habe keine anderen Term-Apps getestet).

seltsamerweise, wenn ich ctrl- drücke C, wenn das Passwort gefragt wird, verschwindet die Frage und ich bleibe in dem Verzeichnis, in das ich wollte cd(wie man es erwarten würde).

Wie kann ich herausfinden, wofür dieses Passwort benötigt wird oder wie ich dies unterbinden kann? Ich benutzezsh

BEARBEITEN:

Das Terminal fragt in zufälligen Momenten nach einem Passwort für zufällige Verzeichnisse. Keine Ahnung von irgendwelchen Mustern. Die Ausgabe ist im Wesentlichen:

cd ~/Downloads
Password:

Ich denke, dies begann, nachdem ich JewelryBox.app installiert hatte

Hier wären vielleicht ein paar mehr Details hilfreich. Tritt es bei allen cdBefehlen auf oder nur bei bestimmten Verzeichnissen? Wenn die zweite, irgendeine Idee, was diese gemeinsam haben und/oder was sie von den anderen unterscheidet? Auch das Posten eines Screenshots (oder einer Textkopie) der Nachricht (und des cdTeils) würde einige Hinweise geben.
Können Sie eine Ausgabe in Terminal schreiben, wie whence cd, which cd, echo $SHELL. Es scheint, dass dieser Befehl anders ist als eingebaut
echo $SHELLgibt /bin/zshund whichsagt cd: shell built-in command. whence cdsagt nur cd. Ich erinnere mich, dass es eine zshSache gibt, die Sie aktivieren können, um alle Befehle zu sehen, die ausgeführt werden, wenn Sie etwas tun, xsetoder so etwas, aber ich kann mich nicht genau erinnern, was.
set -xdas war es. cd-ing in ein Verzeichnis gibt eine Menge Zeug aus, einschließlich vieler Verweise auf rvm, Rubine, ... also denke ich, dass der Übeltäter JewelryBox oder eines seiner installierten rvms sein muss.
@romeovs - Erwägen Sie, unten eine Antwort auf Ihre Frage hinzuzufügen, um denjenigen zu helfen, die diese Frage in Zukunft finden.

Antworten (1)

Sie können ausführen set -x, damit zsh eine Ablaufverfolgung jedes ausgeführten Befehls ausgibt. Wenn ein Befehl von einer Funktion ausgeführt wird, wird der Funktionsname gedruckt. Ausführen set +x, um das Drucken von Ablaufverfolgungen zu stoppen.

Wenn etwas passiert, wenn Sie den cdBefehl verwenden, kann dies daran liegen, dass es sich um einen Alias ​​oder eine Funktion handelt. Überprüfen Sie mit type cd.

Zsh verfügt über eine integrierte Funktion zum Einhängen in den cdBefehl, sodass Wrapper um den integrierten Befehl selten verwendet werden. Wenn die Funktion chpwdvorhanden ist, führt zsh sie sofort nach dem Wechseln des Verzeichnisses aus. Überprüfen Sie, was die chpwdFunktion mit tut which chpwd.

Es gibt auch Hooks, die vor und nach jedem Befehl ausgeführt werden: die Funktionen preexecund . precmdAußerdem haben alle diese Hooks eine Array-Version, die ein Array von Funktionsnamen ist. Überprüfen Sie diese Arrays mit echo $chpwd_functions, und wenn es eine Funktion gibt, sehen Sie sich ihren Code an.