Saya menginstal bash 4.0 melalui MacPorts, lalu digunakan sudo chsh -s /opt/local/bin/bash my_user
untuk mengganti shell saya.
Sebelumnya saya hanya mencoba menjalankan chsh
tanpa sudo
, tetapi tidak memungkinkan saya untuk mengubah shell saya ke jalan itu.
Sekarang ketika saya mencoba untuk memulai Terminal saya mendapatkan pesan bahwa shell saya memiliki nilai ilegal, sehingga Terminal tidak akan memulai. Saya klik Berhenti, dan, tidak mengejutkan tetapi menyebalkan, itu langsung berhenti.
- Bagaimana cara mereset shell saya agar saya dapat memulai Terminal lagi?
- Bagaimana cara mengatur shell saya ke bash yang diinstal melalui MacPorts dengan cara yang akan bekerja?
- Mengapa Terminal menganggap cangkang saya ilegal? Apakah itu berpihak pada neo-pelarangan?
Mac OS X 10.5.8. Semuanya super mega mutakhir.
sudo vim /etc/shells
, menambahkan baris untuk bash MacPorts. Setelah itu saya bisa membuka Terminal lagi./opt/local/bash
sudah 755./etc/shells
.Metode lain untuk mengubah shell Anda (mirip dengan perintah chsh tetapi menggunakan GUI) untuk profil pengguna Anda adalah dengan melakukan hal berikut:
Saya akan merekomendasikan pengaturan ulang kembali ke / bin / bash dan kemudian di Terminal memastikan bahwa
/opt/local/bin/bash
berfungsi dengan benar dengan menjalankan/opt/local/bin/bash
sebelum mencoba mengubahnya lagi.Mengapa dikatakan Anda tidak diizinkan adalah karena Mac OS X menyimpan daftar shell yang "diizinkan"
/etc/shells/
sehingga Anda perlu mengedit file itu dan menambahkannya/opt/local/bin/bash
ke daftar itu.sumber
Masalahnya di sini adalah
/etc/shells
file. File ini berisi daftar semua shell yang diizinkan untuk digunakan sebagai shell login. Jika Anda ingin menggunakan bash yang diinstal MacPorts, Anda harus mengedit file ini untuk memasukkan path ke shell tertentu.sumber
Saya mendapat masalah yang sama setelah pembaruan ke Lion.
Anda harus mencari di / etc Anda mungkin menemukan file seperti shell ~ orig dan shells. Kembalikan kerang ~ orig ke kerang.
Semoga berhasil.
sumber