Câu hỏi: Làm sao biết shell Unix hiện tại tôi đang chạy? Bạn cũng giải thích làm sao thay đổi shell Unix cả tạm thời và vĩnh viễn? (Ví dụ, từ bash sang tsh).
Trả lời: Bạn có thể đạt được điều này dùng $0, exec, chsh -s. Trong bài này, chúng ta xem lại cách làm chi tiết.
1. Shell Unix Hiện Tại Của Tôi Là Gì?
Dùng lệnh echo $0 để lấy tên shell hiện tại như dưới.
$ echo $0 /bin/bash
2. Cách Thay Đổi Shell Hiện Tại Sang Loại Khác – Tạm Thời ?
Dùng lệnh exec để thay đổi shell tạm thời như dưới.
$ echo $0 /bin/bash $ exec /bin/sh $ echo $0 /bin/sh
Lưu ý: Thay đổi trên tạm thời. Khi bạn đăng nhập lại, bạn sẽ quay về shell gốc.
3. Cách Thay Đổi Shell Hiện Tại Sang Loại Khác – Vĩnh Viễn ?
Để thay đổi shell vĩnh viễn, dùng lệnh chsh như dưới.
$ chsh -s /bin/sh Password:
Lưu ý: Thay đổi trên vĩnh viễn. Ngay cả sau đăng nhập lại, bạn chỉ thấy shell mới.
4. Làm Sao Tìm Tất Cả Shell Có Sẵn Trong Hệ Thống ?
Tất cả shell có sẵn nằm trong file /etc/shells.
$ cat /etc/shells # /etc/shells: valid login shells /bin/csh /bin/sh /usr/bin/es /usr/bin/ksh /bin/ksh /usr/bin/rc /usr/bin/tcsh /bin/tcsh /usr/bin/esh /bin/dash /bin/bash /bin/rbash /usr/bin/screen /bin/ksh93
Để thay đổi login shell, bạn chỉ có thể chọn từ đầu ra trên. Nhưng để thay đổi shell hiện tại, bạn có thể chuyển sang bất kỳ shell có sẵn nào.
5. Cài Đặt Shell Mới
Bạn có thể cài shell mới (ví dụ, ksh) như dưới. Sau khi cài shell mới, bạn có thể dùng nó như login shell vĩnh viễn, hoặc shell tạm cho thao tác dòng lệnh.
$ sudo apt-get install ksh