Nếu bạn không thể chạy chshvì bạn không có đặc quyền quản trị viên, hãy nói chuyện với ai đó .
Nhiều khả năng bạn không thể sử dụng chshdưới dạng không phải root vì hệ thống bạn đang sử dụng được định cấu hình để chshkhông hoạt động, chẳng hạn vì hệ thống sử dụng NIS hoặc LDAP thay vì chỉ /etc/passwdtệp. Hoặc có lẽ quản trị viên hệ thống của bạn chỉ muốn duy trì một số kiểm soát.
Quy trình thay đổi vỏ của bạn phụ thuộc vào chính sách của tổ chức. Có thể có một lệnh cục bộ làm những gì chshbình thường. Hoặc bạn có thể cần gửi một vé hỗ trợ yêu cầu thay đổi vỏ.
Hầu hết các câu trả lời khác đều tốt, nhưng nếu quản trị viên của bạn phản hồi hợp lý, bạn có thể không muốn làm phiền việc hack các tập lệnh khởi động của mình. Có lẽ tôi chỉ cần gọi zsh -lthủ công sau khi đăng nhập cho đến khi quản trị viên cập nhật tài khoản của tôi.
Một lưu ý khác: Đôi khi các shell khác nhau có thể sử dụng cùng một tệp khởi động. Ví dụ, shvà bashcả hai có thể thực hiện $HOME/.profile, và cshvà tcshcả hai có thể thực hiện $HOME/.loginvà $HOME/.cshrc(mặc dù các file khởi động vỏ cụ thể thích .bashrc, .bash_profilevà .tcshrccó thể ghi đè lên những). Nếu hệ vỏ mặc định của bạn là /bin/cshvà bạn muốn sử dụng /bin/tcsh, việc cập nhật .loginlệnh gọi của bạn /bin/tcsh -lcó thể tạo ra một vòng lặp vô hạn. zshkhông xảy ra để thực thi bashcác tệp khởi động cụ thể, vì vậy đó không phải là vấn đề đối với bạn.
Hầu hết các vỏ thiết lập các biến mà xác định được bao bạn đang chạy ( $BASH_VERSION, $tcsh, $ZSH_VERSION). Nếu bạn định viết mã khởi động để gọi shell yêu thích của mình, thì không nên để nó ở trong một ifcái để nó được thực thi chỉ khi bạn chưa chạy shell đó. Sử dụng mã từ câu trả lời của konsolebox :
if [ "${ZSH_VERSION:-unset}" = "unset" ] ; then
    export SHELL=/bin/zsh
    exec /bin/zsh -l
fi
(Sự phức tạp thêm của việc kiểm tra "${ZSH_VERSION:-unset}"thay vì chỉ "$ZSH_VERSION"cho phép khả năng bạn đã thực hiện set -o unset, một tùy chọn khiến tham chiếu đến một biến không xác định là lỗi.)
               
              
zshvào.bashrctập tin. Đăng xuất và đăng nhập và thực hiện!