Atur shell default ke bash MacPorts di Mac OS X 10.6.8?

11

Sebagai tindak lanjut dari pertanyaan saya sebelumnya , saya menginstal ulang MacPorts saya dan ingin mencoba versi bash yang lebih baru.

Saya menginstal bash terbaru melalui MacPorts pada sistem Mac OS X 10.6.8 saya, tetapi ketika saya memulai sesi Terminal.app, perintah "sh --version" menunjukkan bahwa saya masih menggunakan bash 3.2.48 yang lama. Ini bahkan ketika "bash yang" menunjuk ke 4.2.37 yang lebih baru diinstal oleh MacPorts.

Saya mencoba mengubah preferensi Terminal.app untuk menggunakan bash baru sebagai default, mengubah / etc / shells, dan menggunakan perintah chsh untuk menentukan MacPorts bash sebagai default. Namun, tidak satupun dari metode ini yang berhasil. Apa yang saya lewatkan? Terima kasih banyak.

hpy
sumber
1
Jadi Anda sudah memecahkan shell sekali, dan Anda ingin melihat bagaimana melakukannya lagi? Alasannya which bashmenunjukkan shell yang lebih baru tetapi Anda menjalankan yang lebih lama adalah bahwa shell diluncurkan oleh path absolut (/ bin / bash) dan tidak mematuhi path. Lagipula tidak masalah, karena jalur tidak disetel untuk memasukkan MacPorts hingga .bashrc dijalankan.
Alan Shutko

Jawaban:

18

sh --versionmungkin sama dengan /bin/sh --version. Jika shell saat ini adalah bash, Anda dapat melihat versinya echo $BASH_VERSION. Jika Anda mengganti shell login default dengan chsh, Anda dapat menyimpan shell default Terminal sebagai shell login.

  1. sudo port install bash
  2. Tambahkan /opt/local/bin/bashke/etc/shells
  3. chsh -s /opt/local/bin/bash
  4. Buka tab baru dan periksa echo $BASH_VERSION
Lri
sumber
echo $SHELLmenunjukkan lebih jelas shell mana yang sedang berjalan.
Victor Sergienko