명령줄을 통해 사용 가능한 쉘 목록을 어떻게 찾을 수 있나요?

명령줄을 통해 사용 가능한 쉘 목록을 어떻게 찾을 수 있나요?

명령줄 사용에 사용 가능한 쉘을 나열하는 방법은 무엇입니까?

답변1

당시 사용 가능한 유효한 로그인 쉘을 나열하려면 다음 명령을 입력하십시오.

cat /etc/shells

예:

pandya@pandya-desktop:~$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/bin/ksh93

쉘에 대한 자세한 내용을 보려면 다음 사이트를 방문하세요.위키피디아.

답변2

chsh -l 쉘 목록을 인쇄하는 데 사용할 수도 있습니다 .

예:-

[anurag@focused ~]$ chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin

답변3

최소한 OpenBSD와 NetBSD에서는:

$ getent shells

(Ubuntu) Linux 및 기타 여러 Unices(BSD 포함):

$ grep '^[^#]' /etc/shells

Solaris에서는 이 파일이 /etc/shells존재하지 않을 수 있습니다. 유효한 쉘 목록은 shells(4)매뉴얼에 포함되어 있습니다. 내 기본 Solaris 11.3 시스템에는 다음 쉘이 나열됩니다.

/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

내 설치에서도 주목할 가치가 /usr/sfw/bin/zsh없습니다 /usr/xp4/bin/pfsh...

유효한 Solaris 쉘의 간단한 목록(제거된 각 쉘에 대한 중복):

/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

답변4

더 깊이 파고 싶다면 /etc/passwd다음을 수행할 수 있습니다.

cut -d ':' -f 7 /etc/passwd | sort -u

H/T @schrodigerscatcuriosity 의https://unix.stackexchange.com/a/631346/40454

관련 정보