Saya sedang mencoba lingkungan dev baru termasuk zsh dan oh-my-zsh. Sekarang saya telah menginstal oh-my-zsh, dimulai secara default pada terminal saya (iTerm2 dan terminal) selalu dimulai dengan zsh dan dengan pengaturan aktif dari oh-my-zsh. Saya bertanya-tanya apakah mungkin untuk "menonaktifkan" atau berhenti menggunakan zsh dan pengaturannya dengan oh-my-zsh tanpa harus menghapus instalasi oh-my-zsh? Akan menyenangkan juga mengetahui cara mengaktifkannya kembali.
Saat ini, terminal saya masuk ke zsh secara otomatis (saya pikir) dan menggunakan oh-my-zsh secara otomatis. Saya ingin memiliki lebih banyak kontrol atas itu dan saya dapat mengontrol keduanya, ketika zsh sedang digunakan dan ketika fitur oh-my-zsh sedang digunakan.
Satu hal yang saya juga tertarik untuk mengetahuinya adalah, bagaimana aplikasi terminal mengetahui shell mana untuk mulai berjalan saat start up. Itu akan bagus untuk bisa mengendalikan juga!
Jika Anda menjelaskan sebanyak mungkin tentang "mengapa" dari setiap perintah yang Anda berikan kepada saya, itu akan berguna! :)
Saya menggunakan OS X. Tidak yakin apakah itu penting, tetapi saya cenderung lebih menyukai jawaban yang lebih berlaku untuk lingkungan Unix yang lebih umum daripada untuk lingkungan saya.
zsh
? atauoh-my-zsh
? yang?Jawaban:
Kata-kata dari pertanyaan Anda tidak jelas, jadi saya tidak tahu apakah Anda ingin berhenti menggunakan
zsh
atau ingin berhenti menggunakannyaoh-my-zsh
. Saya akan membahas keduanya.Menonaktifkan
zsh
Cukup jalankan
chsh
dan pilih shell apa pun yang Anda gunakan sebelumnya. Jika Anda tidak tahu shell apa yang Anda gunakan sebelumnya, itu hampir pastibash
. Perintah ini mengubah "shell login" yang dikaitkan dengan pengguna Anda. Pada dasarnya, ini mengubah shell default Anda.Anda harus membuka jendela terminal baru agar perubahan diterapkan. Jika ini tidak berhasil, Anda harus keluar dan masuk lagi untuk menginisialisasi ulang lingkungan Anda.
Hanya menonaktifkan
oh-my-zsh
~/.zshrc.pre-oh-my-zsh
ada. Mungkin memang begitu. (File ini akan dibuat ketikaoh-my-zsh
skrip instalasi memindahkan sebelumnya.zshrc
dari Anda..zshrc
Adalah file startupzsh
, mirip dengan.bashrc
untukbash
.)mv ~/.zshrc ~/.zshrc.oh-my-zsh
. Ini akan membuatoh-my-zsh
-created.zshrc
keluar dari jalan, sehingga kita dapat mengembalikan yang asli, dengan melakukanmv ~/.zshrc.pre-oh-my-zsh ~/.zshrc
.~/.zshrc
di editor teks. Temukan baris yang mengatakansource $ZSH/.oh-my-zsh
dan berikan komentar atau hapus. Ini akan menonaktifkan inisialisasioh-my-zsh
.Anda harus memulai ulang shell Anda agar perubahan diterapkan.
sumber
ZSH Config Switching
Jika Anda ingin menguji berbagai kerangka kerja konfigurasi zsh (oh-my-zsh, zprezto, dll) dan beralih di antara mereka, taruhan terbaik Anda adalah menggunakan tautan simbolis untuk
~/.zsh
,~/.zshrc
,~/.zlogin
,~/.zlogout
,~/.zprofile
, dan~/.zshenv
. Anda mungkin ingin membuat skrip shell untuk setiap kerangka kerja untuk membuat symlink tersebut untuk peralihan yang lebih cepat.Tempatkan konfigurasi kerangka Anda di folder mereka sendiri. Untuk setiap kerangka kerja.
~/.zsh
, maka~/.zsh
terlebih dahulu. Antara~/.zsh
symlink;rm ~/.zsh
, atau~/.zsh
folder;mv ~/.zsh ~/.zsh.backup
mv ~/.zsh ~/.oh-my-zsh
.Setelah selesai, buat skrip shell untuk setiap kerangka kerja untuk membuat symlink yang diperlukan. Inilah contoh untuk zprezto, karena saya sudah menggunakannya.
Skrip ini cukup sederhana dan bergantung pada kenyataan bahwa semua symlink saya diatur dengan pola yang sama. Anda dapat menyalin & menempelkan hapus dan buat garis setelah loop untuk symlink yang Anda miliki yang tidak mengikuti pola.
Setelah selesai, gunakan
~/bin/use-zprezto
--atau~/bin/use-whatever
beralih di antara kerangka kerja zsh.Perhatikan bahwa perubahan hanya berlaku di shell zsh baru, bukan shell yang ada.
Shell Switching
Ini agak berbahaya, tetapi jika Anda cenderung, Anda dapat menggunakan symlink untuk perintah shell Anda dan mengatur symlink sebagai shell default Anda. Anda kemudian dapat mengikuti
use-*
metode skrip di atas untuk mengubah shell default Anda.Sebagai contoh dengan zsh ...
Alasannya berbahaya adalah karena Anda tidak dapat masuk di bawah pengguna jika shell yang disimpan di dalam
/etc/passwd
bukan program yang valid. Jadi, Anda dapat mengunci diri dari akun jika tidak hati-hati; yaitu~/.shell
symlink Anda rusak atau tidak mengarah ke program interaktif. Anda boleh mencoba ini dengan akun pengguna, tetapi ini TIDAK DIANJURKAN untukroot
akun Anda .Jika Anda masih ingin melanjutkan, maka
sumber
chsh -s / bin / bash
Untuk secara manual mengatur shell default baru, lakukan chsh -s / my / new / shell, misal chsh -s / bin / bash. Maka cukup buka kembali cangkang Anda.
sumber
Anda dapat memberitahu zsh untuk memuat file konfigurasi per-pengguna dari direktori yang berbeda dengan mengatur variabel lingkungan
ZDOTDIR
sebelum memulai zsh.Jika Anda ingin memulai zsh tanpa memuat file konfigurasi Anda, setel
ZDOTDIR
ke direktori yang tidak ada. Jika Anda ingin melewati file konfigurasi sistem (terpisah dari/etc/zshenv
), Anda dapat menjalankannyazsh -f
. Jika Anda ingin melewati file konfigurasi sistem tetapi menjalankan file per-pengguna, jalankanzsh -d
.Misalnya, jika Anda ingin menguji-drive oh-my-zsh tanpa menjadikannya default, jangan masukkan
.zshrc
dari oh-my-zsh di direktori home Anda. Sebagai gantinya, letakkan di tempat lain, mis. di~/.oh-my-zsh
, dan kemudian jalankanZDOTDIR=~/.oh-my-zsh zsh
ketika Anda ingin menggunakan oh-my-zsh.Aplikasi terminal menjalankan shell yang ditunjukkan oleh
SHELL
variabel lingkungan. Jika variabel ini tidak disetel, mereka menjalankan shell login yang ditunjukkan dalam database pengguna (/etc/passwd
). Anda dapat meminta aplikasi lain saat memulai emulator terminal, misxterm -e fish
.sumber
Karena agak tersembunyi di @Gilles, jawab cara cepat untuk memuat zsh tanpa konfigurasi misalnya .zshrc .zshenv dll
Ini berguna ketika Anda ingin menguji apakah ada sesuatu dalam konfigurasi Anda yang mencegah beberapa fitur zsh bekerja.
sumber