Làm thế nào để liệt kê các shell có sẵn để sử dụng theo dòng lệnh?
/bin/bash /bin/crash /bin/gdb
(và các liên kết tượng trưng từ /usr/bin
).
Làm thế nào để liệt kê các shell có sẵn để sử dụng theo dòng lệnh?
/bin/bash /bin/crash /bin/gdb
(và các liên kết tượng trưng từ /usr/bin
).
Câu trả lời:
Để liệt kê các shell đăng nhập hợp lệ có sẵn để sử dụng tại thời điểm, hãy gõ lệnh sau:
cat /etc/shells
Thí dụ:
pandya@pandya-desktop:~$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/bin/ksh93
Để biết thông tin về shell hãy truy cập wikipedia .
/bin/true
và /bin/false
trong danh sách này?
Bạn cũng có thể sử dụng
chsh -l
Điều này sẽ in danh sách các vỏ.
Thí dụ :-
[anurag@focused ~]$ chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
chsh: invalid option -- 'l'
Trên ít nhất OpenBSD và NetBSD:
$ getent shells
Trên (Ubuntu) Linux và nhiều Thông báo khác (bao gồm cả BSD):
$ grep '^[^#]' /etc/shells
Trên Solaris, tập tin /etc/shells
có thể không tồn tại. Danh sách các vỏ hợp lệ được chứa trong shells(4)
hướng dẫn. Trên hệ thống vanilla Solaris 11.3 của tôi, danh sách các vỏ sau:
/bin/bash /usr/bin/bash /bin/pfbash /usr/bin/pfbash
/bin/csh /usr/bin/csh /bin/pfcsh /usr/bin/pfcsh
/bin/jsh /usr/bin/jsh /sbin/jsh /usr/sbin/jsh
/bin/ksh /usr/bin/ksh /bin/pfksh /usr/bin/pfksh
/bin/ksh93 /usr/bin/ksh93 /bin/pfksh93 /usr/bin/pfksh93
/bin/sh /usr/bin/sh /bin/pfsh /usr/bin/pfsh
/bin/tcsh /usr/bin/tcsh /bin/pftcsh /usr/bin/pftcsh
/sbin/sh /usr/xpg4/bin/sh /sbin/pfsh /usr/xp4/bin/pfsh
/bin/zsh /usr/bin/zsh /bin/pfzsh /usr/bin/pfzsh
/usr/sfw/bin/zsh
Điều đáng chú ý là trên bản cài đặt của tôi, /usr/sfw/bin/zsh
cũng không /usr/xp4/bin/pfsh
tồn tại ...
Một danh sách ngắn hơn các vỏ Solaris hợp lệ (các bản sao của mỗi vỏ được loại bỏ):
/bin/bash /bin/ksh /bin/pfcsh /bin/pfsh /bin/sh
/bin/csh /bin/ksh93 /bin/pfksh /bin/pftcsh /bin/tcsh
/bin/jsh /bin/pfbash /bin/pfksh93 /bin/pfzsh /bin/zsh
(IFS=: && grep -rl tcsetpgrp $PATH | xargs grep -rl setrlimit)
trên một hệ thống Debian dường như đưa ra một xấp xỉ tốt.