Tiga pertanyaan itu dalam satu ;-)
Opsi AUTO_CD dan bagaimana menemukannya
Pertama-tama opsi yang Anda cari adalah AUTO_CD. Anda dapat dengan mudah menemukannya dengan melihat ke atas man zshoptions
. Gunakan fungsi pencarian pager Anda, biasanya Anda menekan /dan memasukkan kata kunci. Dengan nAnda melompat ke kejadian berikutnya. Ini akan memunculkan berikut ini:
[..]
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.
[..]
Opsi dapat dibatalkan menggunakan unsetopt AUTO_CD
.
Mematikan dengan benar
Anda menggunakan oh-my-zsh yang digambarkan sebagai
"Kerangka kerja berbasis komunitas untuk mengelola konfigurasi zsh Anda" Termasuk 120+ plugin opsional (rail, git, OSX, hub, capistrano, brew, semut, macports, dll), ...
Jadi hal selanjutnya adalah mencari tahu, cara mengaktifkan / menonaktifkan opsi sesuai dengan framework.
File readme.textile menyatakan bahwa cara yang lebih disukai untuk mengaktifkan / menonaktifkan plugins adalah entri di .zshrc Anda: plugins=(git osx ruby)
Cari tahu plugin mana yang menggunakan opsi AUTO_CD. Seperti yang ditemukan dari manual itu dapat dipanggil melalui -J switch atau AUTO_CD. Karena oh-my-zsh tersedia di github, mencarinya akan muncul file lib/theme-and-appearance.zsh
. Jika Anda tidak ingin menonaktifkan seluruh plugin "tema-dan-penampilan", masukkan a unsetopt AUTO_CD
.zshrc Anda. Jangan memodifikasi file oh-my-zsh secara langsung, karena jika Anda memperbarui kerangka kerja, perubahan Anda akan hilang.
Mengapa executable tidak dipanggil secara langsung
Pertanyaan ketiga Anda adalah bagaimana mengeksekusi biner secara langsung: Anda harus mengeksekusi file biner Anda melalui path, misalnya dengan awalan ./
seperti pada ./do-something
. Ini adalah semacam fitur keamanan dan tidak boleh diubah. enggan mencolokkan stik USB, memasangnya dan melihatnya ls
. Jika ada executable yang dipanggil ls
yang menghapus direktori home Anda, semuanya akan hilang, karena ini akan menimpa urutan $ PATH Anda.
Jika Anda memiliki perintah yang Anda panggil berulang kali, mengatur alias di .zshrc Anda akan menjadi solusi umum.
unsetopt auto_cd
baris (saya secara eksplisit menyebutkan bahwa executable berada di jalur saya; namun, penjelasannya mungkin membantu pengguna lain mencari tahu).PATH
variabel lingkungan mereka yang ingin mereka diutamakan daripada autocd. Ini tidak ada hubungannya dengan ketidakmampuan skrip shell untuk menjalankan executable dari path tanpa menentukan salah satu./
atau/
.lib
direktori OMZ tidak ada hubungannya dengan.plugins
Mengenai pertanyaan dan seperti yang Anda katakan, perintah yang benar adalahunsetopt
.