Wie liste ich verfügbare Shells für die Verwendung über die Befehlszeile auf?
/bin/bash /bin/crash /bin/gdb
(und die Symlinks von /usr/bin
).
Wie liste ich verfügbare Shells für die Verwendung über die Befehlszeile auf?
/bin/bash /bin/crash /bin/gdb
(und die Symlinks von /usr/bin
).
Antworten:
Geben Sie den folgenden Befehl ein, um verfügbare gültige Anmeldeshells für die Verwendung zu einem bestimmten Zeitpunkt aufzulisten:
cat /etc/shells
Beispiel:
pandya@pandya-desktop:~$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/bin/ksh93
Informationen zur Shell finden Sie auf Wikipedia .
/bin/true
und /bin/false
in dieser Liste?
Sie können auch
chsh -l
Dies wird die Liste der Muscheln drucken.
Beispiel: -
[anurag@focused ~]$ chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
chsh: invalid option -- 'l'
Auf mindestens OpenBSD und NetBSD:
$ getent shells
Unter (Ubuntu) Linux und vielen anderen Unices (einschließlich BSDs):
$ grep '^[^#]' /etc/shells
Unter Solaris ist die Datei /etc/shells
möglicherweise nicht vorhanden. Die Liste der gültigen Shells ist im shells(4)
Handbuch enthalten. Auf meinem Vanilla Solaris 11.3-System werden die folgenden Shells aufgelistet:
/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
Es ist erwähnenswert, dass auf meiner Installation weder existiert /usr/sfw/bin/zsh
noch /usr/xp4/bin/pfsh
...
Eine kürzere Liste gültiger Solaris-Shells (Duplikate aller entfernten Shells):
/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)
auf einem Debian-System scheint eine gute Annäherung zu geben.