To trzy pytania w jednym ;-)
AUTO_CD Opcja i jak ją znaleźć
Przede wszystkim szukasz opcji AUTO_CD. Możesz go łatwo znaleźć, patrząc w górę man zshoptions
. Użyj funkcji wyszukiwania na pagerach, zwykle naciskasz /i wpisujesz słowo kluczowe. Z ntobą skacz do następnego zdarzenia. Pojawi się następujące:
[..]
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.
[..]
Opcję można wyłączyć za pomocą unsetopt AUTO_CD
.
Prawidłowe wyłączenie
Używasz oh-my-zsh, który jest opisany jako
„Środowisko oparte na społeczności do zarządzania konfiguracją zsh” Obejmuje ponad 120 opcjonalnych wtyczek (rails, git, OSX, hub, capistrano, brew, ant, macports itp.), ...
Następną rzeczą jest ustalenie, jak włączyć / wyłączyć opcje zgodnie z ramami.
Plik readme.textile stwierdza, że preferowanym sposobem włączania / wyłączania wtyczek byłby wpis w pliku .zshrc: plugins=(git osx ruby)
Dowiedz się, która wtyczka korzysta z opcji AUTO_CD. Jak odkryto na stronie podręcznika, można go wywołać za pomocą przełącznika -J lub AUTO_CD. Ponieważ oh-my-zsh jest dostępny na github, wyszukiwanie go spowoduje zwiększenie pliku lib/theme-and-appearance.zsh
. Jeśli nie chcesz wyłączać całego wyglądu i wyglądu wtyczki, umieść a unsetopt AUTO_CD
w swoim .zshrc. Nie modyfikuj bezpośrednio plików oh-my-zsh, ponieważ jeśli aktualizujesz framework, twoje zmiany zostaną utracone.
Dlaczego pliki wykonywalne nie są wywoływane bezpośrednio
Trzecie pytanie dotyczy tego, jak wykonać plik binarny bezpośrednio: plik binarny należy wykonać ścieżką, na przykład z prefiksem ./
jak w ./do-something
. Jest to rodzaj zabezpieczenia i nie należy go zmieniać. wystarczy podłączyć pamięć USB, zamontować ją i sprawdzić ls
. Jeśli istnieje plik wykonywalny o nazwie, ls
który usuwa katalog domowy, wszystko by zniknęło, ponieważ zastąpiłoby to kolejność twojej $ PATH.
Jeśli masz polecenia, które wywołujesz wielokrotnie, często stosowanym rozwiązaniem jest ustawienie aliasu w pliku .zshrc.
unsetopt auto_cd
linii (wyraźnie wspomniałem, że plik wykonywalny jest na mojej ścieżce; jednak wyjaśnienie może pomóc innym użytkownikom w zrozumieniu).