Das sind drei Fragen in einer ;-)
AUTO_CD Option und wie man es findet
Zunächst ist die gesuchte Option AUTO_CD. Sie können es leicht finden, indem Sie nachschlagen man zshoptions
. Verwenden Sie die Suchfunktion Ihres Pagers. In der Regel drücken Sie /und geben das Schlüsselwort ein. Mit nspringen Sie zum nächsten Vorkommen. Daraufhin wird Folgendes angezeigt:
[..]
Changing Directories
AUTO_CD (-J)
If a command is issued that can't be executed as a normal command, and the command is the name of a directory, perform the cd command to that directory.
[..]
Die Option kann mit deaktiviert werden unsetopt AUTO_CD
.
Schalten Sie es richtig aus
Sie verwenden oh-my-zsh, das als beschrieben wird
"Ein Community-basiertes Framework für die Verwaltung Ihrer zsh-Konfiguration" Enthält über 120 optionale Plugins (Rails, Git, OSX, Hub, Capistrano, Brew, Ant, Macports usw.), ...
Als nächstes müssen Sie herausfinden, wie Sie die Optionen gemäß dem Framework aktivieren / deaktivieren.
In der Readme.textile-Datei wird angegeben , dass die bevorzugte Methode zum Aktivieren / Deaktivieren von Plugins ein Eintrag in Ihrer .zshrc-Datei ist: plugins=(git osx ruby)
Finden Sie heraus, welches Plugin die AUTO_CD-Option verwendet. Wie aus der Manpage hervorgeht, kann es über den Schalter -J oder AUTO_CD aufgerufen werden. Da oh-my-zsh auf github verfügbar ist, wird bei der Suche nach oh-my-zsh die Datei angezeigt lib/theme-and-appearance.zsh
. Wenn Sie nicht das gesamte Plugin " unsetopt AUTO_CD
Design und Darstellung" deaktivieren möchten, fügen Sie ein in Ihre .zshrc-Datei ein. Ändern Sie die Dateien von oh-my-zsh nicht direkt, da Ihre Änderungen verloren gehen, wenn Sie das Framework aktualisieren.
Warum werden ausführbare Dateien nicht direkt aufgerufen?
Ihre dritte Frage ist, wie Sie eine Binärdatei direkt ausführen können: Sie müssen Ihre Binärdatei über einen Pfad ausführen, z. B. mit einem Präfix ./
wie in ./do-something
. Dies ist eine Art Sicherheitsfunktion und sollte nicht geändert werden. Einstecken eines USB-Sticks, Einhängen und Anschauen mit ls
. Wenn es eine ausführbare Datei namens gibt, ls
die Ihr Home-Verzeichnis löscht, ist alles weg, da dies die Reihenfolge Ihres $ PATH überschrieben hätte.
Wenn Sie Befehle haben, die Sie wiederholt aufrufen, ist das Einrichten eines Alias in Ihrer .zshrc-Datei eine häufige Lösung.
unsetopt auto_cd
Linie (ich habe ausdrücklich erwähnt , dass die ausführbare Datei ist in meinem Weg allerdings, dennoch könnte die Erklärung andere Benutzer helfen , die Dinge herauszufinden).PATH
Umgebungsvariablen, die Vorrang vor autocd haben soll. Dies hat nichts mit der Unfähigkeit von Shell-Skripten zu tun, eine ausführbare Datei über einen Pfad auszuführen, ohne entweder./
oder anzugeben/
.lib
Verzeichnis nichts mitplugins
der Frage zu tun, und wie Sie sagten, ist der richtige Befehlunsetopt
.