Câu trả lời:
Sử dụng chsh
tiện ích như vậy:
chsh -s bash
Apple đã thay đổi chsh
một chút trên Mac OS X so với những chsh
gì 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/shells
giới hạn nếu bạn chạy chsh
bằng root thông qua sudo
. Ví dụ, sudo chsh -s /usr/local/bin/my_shell $USER
sẽ làm việc, ngay cả khi my_shell
khô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 sudo
vì bạn không thể chỉnh sửa /etc/shells
như 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/shells
nế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/shells
là 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
chsh
mộ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/shells
lạ 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)