it-swarm-vi.com

Làm cách nào để chuyển từ Shell không xác định sang bash?

Tôi đã ngạc nhiên rằng tôi đã không tìm thấy câu hỏi này trên trang web. Vì vậy, hôm nay $ đã xuất hiện sau khi tôi đăng nhập như một người dùng mới. Điều này thật bất ngờ vì Lời nhắc của người dùng chính của tôi bắt đầu bằng [email protected]:~$.

Vậy, làm thế nào để tôi chuyển từ Shell khác này sang bash?

41
mouche

Giả sử Shell chưa biết hỗ trợ chạy một lệnh tuyệt đối, bạn có thể thử: /bin/bash

Để thay đổi Shell mặc định, tôi sẽ sử dụng chsh(1). Sử dụng mẫu: chsh -s /bin/bash $USER

62
Kevin M

Bạn nhập bash. Nếu bạn muốn đây là thay đổi vĩnh viễn Shell mặc định thành /bin/bash Bằng cách chỉnh sửa /etc/passwd.

Đây là một số đoạn trích từ /etc/passwd Của tôi:

avahi:x:84:84:Avahi daemon:/:/bin/false
xenoterracide:x:1000:100::/home/xenoterracide:/bin/zsh
postgres:x:88:88::/var/lib/postgres:/bin/zsh
bob:x:1001:1001::/home/bob:/bin/bash
usbmux:x:140:140:usbmux user:/:/sbin/nologin

Trường cuối cùng chứa Shell, Sửa đổi trường sau khi : Cuối cùng thành Shell hợp lệ hoặc không hợp lệ sẽ hoạt động. /bin/false/sbin/nologin Có nghĩa là người dùng không có Shell đăng nhập thực sự, mặc dù nếu pam không được thiết lập đúng thì điều này không có nghĩa là họ không thể đăng nhập (Tôi đã báo cáo lỗi điều này trong Arch Linux, bởi vì bạn có thể đăng nhập bằng đồ họa mà không cần phải đăng nhập Shell). /bin/bash/bin/zsh Đều là các shell hợp lệ, xem /etc/shells Để biết danh sách các shell hợp lệ trên hệ thống của bạn. Đây là /etc/shells Của tôi nếu bạn quan tâm.

/bin/sh
/bin/bash
/bin/ksh
/bin/zsh
/bin/dash

Có, bạn có thể sử dụng chsh hoặc usermod để làm những việc tương tự, xin nhớ đây chỉ là các tệp văn bản có cấu trúc và TIMTOWTDI.

20
xenoterracide

Nếu chsh hoặc chỉnh sửa thủ công cấu hình sẽ không hoạt động, nhưng tập lệnh ~/.profile được thực thi khi đăng nhập, hãy thêm dòng này:

exec /bin/bash --login
12
Kevin Cantu