Câu trả lời:
Sử dụng chshtiện ích như vậy:
chsh -s bash
Apple đã thay đổi chshmột chút trên Mac OS X so với những chshgì bạn thấy trong Linux chẳng hạn. Bạn có thể đọc thông tin của họ trong trang Mac OS X Man Page .
Lưu ý rằng bạn sẽ chỉ được phép thay đổi thành một vỏ được liệt kê trong /etc/shells. Điều này thường ổn, nhưng điều đó có nghĩa là nếu bạn muốn cài đặt Bash 4 (từ Homebrew, MacPorts hoặc biên dịch của riêng bạn), bạn cần thêm một dòng vào /etc/shells. (Tôi đã gặp phải điều này một vài tuần trước và hình dung nó có thể giúp người khác biết ...)
Chỉnh sửa : Tim Smith chỉ ra rằng bạn có thể vượt qua /etc/shellsgiới hạn nếu bạn chạy chshbằng root thông qua sudo. Ví dụ, sudo chsh -s /usr/local/bin/my_shell $USERsẽ làm việc, ngay cả khi my_shellkhông được liệt kê trong /etc/shells. Tôi thích chỉnh sửa hơn /etc/shells, nhưng cuối cùng, đó là một trong những cách sử dụng sudovì bạn không thể chỉnh sửa /etc/shellsnhư một người dùng thông thường. Vì vậy, có lẽ sáu của một, một nửa tá khác.
/etc/shellsnếu bạn không phải làm thế? Đối với sự tỉnh táo, tôi thích giữ các tệp hệ thống như nhau.
/etc/shellslà tập tin trên hệ thống xác định hệ vỏ được công nhận. Tôi thay đổi tập tin đó vì tôi muốn thêm một vỏ vào danh sách các shell được nhận dạng. Có vẻ khá hợp lý với tôi.
chsh: bash: non-standard shell
chshmột mình nếu bạn đang cố gắng sử dụng một vỏ không được liệt kê trong /etc/shells.
/etc/shellslạ với tôi.
Để thực hiện việc này bằng GUI Mac OS X:
Lưu ý, vị trí này là nơi bạn có thể thay đổi thư mục chính, UUID, ID người dùng, ID nhóm và tên ngắn nếu bạn không thoải mái với Terminal. Có một câu hỏi tương tự nằm ở đây là tốt.
Sử dụng các câu trả lời ở trên tôi đã nhận được một thông báo lỗi:
$ chsh -s zsh
Changing shell for myuser.
Password for myuser:
chsh: zsh: non-standard shell
Để giải quyết vấn đề này:
sudo chsh -s zsh $(whoami)
whoami trong một subshell là để thay đổi shell cho người dùng của bạn, không phải root.
Một điều nữa nếu bạn đang sử dụng homebrew. Khi bạn chạy các lệnh dưới dạng root (sử dụng sudo), zsh trỏ đến / bin / zsh, đi kèm với OSX và có thể bị lỗi thời. Để sử dụng bản cập nhật được cài đặt qua homebrew, hãy sử dụng như sau:
sudo chsh -s $(which zsh) $(whoami)