Saya mencoba mengubah Shell Login Mac OS X dari bash
menjadi zsh
. Saya melihat itu mungkin di Mac OS X Leopard , tetapi untuk OS X Lion saya tidak dapat menemukan jalan. Saya sangat berharap dimungkinkan untuk mengubah shell Login dari bash ke sesuatu yang lain. Saya tidak yakin ke mana harus mencari.
90
if [ -x /usr/local/bin/zsh ] ; then exec /usr/local/bin/zsh fi
. Petunjuk, saat memodifikasi skrip startup shell, pastikan shell tetap berjalan dan mulai yang baru di jendela lain - jika Anda memecahkannya Anda masih memiliki tempat yang mudah untuk memperbaikinya.Jawaban:
Anda dapat mengubah shell pengguna dengan perintah berikut:
Catatan: Untuk mengubahnya untuk shell non-standar, pastikan pathnya telah ditambahkan ke
/etc/shells
file.sumber
/usr/local/bin/zsh
. Sayangnya, chsh tidak mengizinkan ini, mengatakanchsh: /usr/local/bin/zsh: non-standard shell
. Jawaban Daniel Beck adalah solusi yang cocok dalam kasus ini./usr/local/bin/zsh
untuk/etc/shells
dan harus mengatasi masalah tersebut.==> Caveats To use this build of Zsh as your login shell, add it to /etc/shells.
/etc/shells
dimiliki, dan hanya dapat ditulisi oleh, root (superuser). Anda bisa, misalnya, menggunakansudo vi /etc/shells
menggunakansudo
( s uper u ser jangan ) untuk menjalankanvi
editor untuk mengedit/etc/shells
. Saya baru saja menguji pada sistem saya dan mengkonfirmasi bahwa itu TIDAK dilindungi oleh Perlindungan Integritas Sistem, jadi Anda harus dapat mengeditnya sebagai root tanpa melompat melalui lingkaran untuk menonaktifkan SIP.Lucunya, metode yang sama yang Anda tautkan dalam pertanyaan Anda masih berfungsi di OS X Lion melalui Sierra (10.12). Satu-satunya perbedaan: Panel preferensi bernama Pengguna & Grup, bukan Akun .
sumber
Atau:
sumber
brew install zsh
.sudo dscl . change /users/$USER UserShell /bin/bash $(which zsh)
Jika ada yang bertanya-tanya masalah yang sama terjadi pada macOS Sierra dan perintah berikut memungkinkan saya untuk mengganti shell tanpa masalah:
sumber