Jawaban:
Gunakan chshutilitas seperti ini:
chsh -s bash
Apple telah chshsedikit berubah pada Mac OS X dibandingkan dengan yang chshakan Anda lihat di Linux misalnya. Anda dapat membaca tentang mereka di halaman chsh Mac OS X Man .
Perhatikan bahwa Anda hanya akan diizinkan untuk mengubah shell yang terdaftar di /etc/shells. Ini biasanya baik-baik saja, tetapi itu berarti bahwa jika Anda ingin menginstal Bash 4 (dari Homebrew, MacPorts, atau kompilasi Anda sendiri), Anda perlu menambahkan baris ke /etc/shells. (Saya mengalami ini beberapa minggu yang lalu, dan berpikir itu mungkin membantu orang lain untuk mengetahui ...)
Sunting : Tim Smith menunjukkan bahwa Anda dapat mengatasi /etc/shellsbatasan jika Anda menjalankan chshsebagai root via sudo. Misalnya sudo chsh -s /usr/local/bin/my_shell $USERakan berfungsi, meskipun my_shelltidak terdaftar dalam /etc/shells. Saya lebih suka mengedit /etc/shells, tetapi pada akhirnya, itu adalah salah satu penggunaan dari sudokedua cara karena Anda tidak dapat mengedit /etc/shellssebagai pengguna biasa. Jadi mungkin enam dari satu, setengah lusin lainnya.
/etc/shellsjika Anda tidak harus melakukannya? Untuk kewarasan, saya lebih suka menyimpan file sistem yang sama.
/etc/shellsadalah file pada sistem yang mendefinisikan shell yang dikenali. Saya mengubah file itu karena saya ingin menambahkan shell ke daftar shell yang dikenali. Tampaknya masuk akal bagi saya.
chsh: bash: non-standard shell
chshsendiri jika Anda mencoba menggunakan shell yang tidak terdaftar /etc/shells.
/etc/shellsaneh bagiku.
Untuk melakukan ini menggunakan Mac OS X GUI:
Yang perlu diperhatikan, lokasi ini adalah tempat Anda dapat mengubah direktori rumah, UUID, ID Pengguna, ID Grup, dan nama pendek jika Anda tidak nyaman dengan Terminal. Ada pertanyaan serupa yang terletak di sini juga.
Menggunakan jawaban di atas saya mendapatkan pesan kesalahan:
$ chsh -s zsh
Changing shell for myuser.
Password for myuser:
chsh: zsh: non-standard shell
Untuk mengatasi ini:
sudo chsh -s zsh $(whoami)
whoami dalam subkulit adalah untuk mengubah shell untuk pengguna Anda, bukan root.
Satu hal lagi jika Anda menggunakan homebrew. Ketika Anda menjalankan perintah sebagai root (menggunakan sudo), zsh menunjuk ke / bin / zsh, yang datang dengan OSX dan mungkin sudah usang. Untuk menggunakan yang terbaru yang diinstal melalui homebrew, gunakan yang berikut ini:
sudo chsh -s $(which zsh) $(whoami)