コマンドラインで利用可能なシェルのリストをどのように見つけることができますか?

コマンドラインで利用可能なシェルのリストをどのように見つけることができますか?

コマンドラインの使用に使用可能なシェルを一覧表示するには?

答え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

関連情報