Saya tahu saya dapat mengatur "Kerang terbuka dengan" di preferensi Terminal, tapi saya ingin tahu apakah ada cara sistem-lebar pengaturan ini (mirip dengan memperbarui / etc / passwd di beberapa Unix).
21
Gunakan chsh
utilitas seperti ini:
chsh -s bash
Apple telah chsh
sedikit berubah pada Mac OS X dibandingkan dengan yang chsh
akan 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/shells
batasan jika Anda menjalankanchsh
sebagai root viasudo
. Misalnyasudo chsh -s /usr/local/bin/my_shell $USER
akan berfungsi, meskipunmy_shell
tidak terdaftar dalam/etc/shells
. Saya lebih suka mengedit/etc/shells
, tetapi pada akhirnya, itu adalah salah satu penggunaan darisudo
kedua cara karena Anda tidak dapat mengedit/etc/shells
sebagai pengguna biasa. Jadi mungkin enam dari satu, setengah lusin lainnya.sumber
/etc/shells
jika Anda tidak harus melakukannya? Untuk kewarasan, saya lebih suka menyimpan file sistem yang sama./etc/shells
adalah 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
chsh
sendiri jika Anda mencoba menggunakan shell yang tidak terdaftar/etc/shells
./etc/shells
aneh 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.
sumber
Menggunakan jawaban di atas saya mendapatkan pesan kesalahan:
Untuk mengatasi ini:
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:sumber