Đặt shell mặc định thành bash MacPorts trong Mac OS X 10.6.8?


11

Để theo dõi câu hỏi trước đây của tôi , tôi đã cài đặt lại MacPorts của mình và muốn thử lại phiên bản bash mới hơn của nó.

Tôi đã cài đặt bash mới nhất thông qua MacPorts trên hệ thống Mac OS X 10.6.8 của mình, nhưng khi tôi bắt đầu phiên Terminal.app, lệnh "sh --version" cho thấy tôi vẫn đang sử dụng bash cũ 3.2.48. Điều này thậm chí là khi "bash" trỏ đến 4.2.37 mới hơn được cài đặt bởi MacPorts.

Tôi đã cố gắng thay đổi tùy chọn Terminal.app để sử dụng bash mới làm mặc định, thay đổi / etc / shell và sử dụng lệnh chsh để chỉ định bash MacPorts làm mặc định. Tuy nhiên, không có phương pháp nào trong số này là thành công. Tôi đang thiếu gì? Cảm ơn rât nhiều.


1
Vì vậy, bạn đã phá vỡ vỏ một lần rồi, và bạn muốn xem làm thế nào để làm lại? Lý do which bashcho thấy lớp vỏ mới hơn nhưng bạn đang chạy lớp cũ hơn là lớp vỏ được khởi chạy bằng đường dẫn tuyệt đối (/ bin / bash) và không tuân theo đường dẫn. Dù sao đi nữa, vì đường dẫn không được đặt để bao gồm MacPort cho đến khi .bashrc được chạy.
Alan Shutko

Câu trả lời:


18

sh --versioncó lẽ là giống như /bin/sh --version. Nếu shell hiện tại là bash, bạn có thể xem phiên bản của nó với echo $BASH_VERSION. Nếu bạn thay đổi vỏ đăng nhập mặc định bằng chsh, bạn có thể giữ vỏ mặc định của Terminal làm vỏ đăng nhập.

  1. sudo port install bash
  2. Thêm /opt/local/bin/bashvào/etc/shells
  3. chsh -s /opt/local/bin/bash
  4. Mở một tab mới và kiểm tra echo $BASH_VERSION

echo $SHELLcho biết rõ hơn cái vỏ nào đang chạy.
Victor Sergienko
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.