명령 행으로 사용 가능한 쉘 목록을 찾는 방법은 무엇입니까?


20

명령 행에서 사용할 수있는 쉘을 나열하는 방법은 무엇입니까?


(IFS=: && grep -rl tcsetpgrp $PATH | xargs grep -rl setrlimit)데비안 시스템에서 좋은 근사치를주는 것으로 보입니다.
Stéphane Chazelas

Fedora 20에서는 /bin/bash /bin/crash /bin/gdb(및의 심볼릭 링크 /usr/bin)를 반환합니다 .
Cristian Ciupitu

답변:


30

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

cat /etc/shells

예:

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

쉘에 대한 정보는 wikipedia를 방문하십시오 .


모든 시스템에서 작동하지는 않습니다. 예를 들어 Solaris 및 HP-UX에는 기본적으로 / etc / shells 파일이 없습니다.
Warwick

내가 왜해야합니까 /bin/true/bin/false이 목록에?
Bernhard

2
@bernhard-/ bin / true와 / bin / false에 대한 좋은 설명이 있습니다. 링크
Warwick

6

당신은 또한 사용할 수있는 chsh -l 쉘의 목록을 인쇄합니다이 있습니다.

예 :-

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

3
나를 위해chsh: invalid option -- 'l'
Pandya

@Pandya 사용중인 전체 명령을 제공 할 수 있습니다. 다른 쉘 메소드 또는 ((...)) 또는 [...] 또는 [[...]]와 같은 구문의 조합과 함께 사용할 수 있습니다.
Anurag Anand



@Pandya man7.org/linux/man-pages/man1/chsh.1.html 이것은 -l 옵션을 제공합니다. 페이지 상단의 링크를 클릭하면 linux-util 맨 페이지
Anurag Anand

2

최소한 OpenBSD와 NetBSD에서 :

$ getent shells

(우분투) 리눅스와 다른 많은 Unices (BSD 포함) :

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

Solaris에서 파일 /etc/shells이 존재하지 않을 수 있습니다. 유효한 쉘 목록은 shells(4)매뉴얼에 포함되어 있습니다. 내 vanilla 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.