Translation(s): English - Français - Italiano - Português (Brasil) - Русский - Español
A shell is a piece of software that provides an interface for users. Nowadays the term shell is mostly used for CommandLineInterface shells.
Graphical shell is a rarely used term for a DesktopEnvironment.
Interactive shell
An interactive shell is used by a user in a virtual console or a TerminalEmulator.
Debian uses Bash as the default interactive shell.
The default interactive shell for newly created users can be set in /etc/adduser.conf.
To change the default interactive shell for the current user:
Check which shells are currently installed: cat /etc/shells
Set the new default shell: chsh
Non-interactive Shell
A non-interactive shell is used to execute system scripts or scripts that use #!/bin/sh shebang.
Debian uses Dash as the default non-interactive shell.
It is not intended to be used interactively by a user, for example, in a terminal emulator, but rather focuses on speed and compatibility with standards. Therefore, many interactive features are not present in Dash, making it faster and more memory efficient than Bash.
Before DebianSqueeze, Bash was used as the default non-interactive shell.
Other shells
Debian provides many different shells. A few notable shells include:
Bash - A very powerful shell, with very good interactive interface.
Dash - A fast shell, compliant with Debian Policy §10.4 and Single UNIX Specification
mksh - A fast Korn shell, compliant with Debian Policy §10.4 and Single UNIX Specification. Also contains mksh-static, which might be an even better /bin/sh choice.
zsh - Another powerful shell (see http://zsh.sourceforge.net/Intro/).
fish - Another friendly interactive shell.
tcsh - an enhanced version of Berkeley csh.
busybox - A Tiny shell, used in initrd and DebianInstaller.
csh and tcsh should be avoided as scripting languages. See http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/
ash superseded by Dash in Debian since DebianSarge
ksh - The AT&T version of the Korn shell.
See also
https://en.wikipedia.org/wiki/Comparison_of_command_shells - Comparison of command shells
https://wiki.archlinux.org/index.php/Command-line_shell - Command-line shell on Arch Linux wiki
(Archive) http:/www.looking-glass.org/shell.html - UNIX shell differences and how to change your shell (Monthly Posting)
CategoryCommandLineInterface | CategorySoftware | CategorySystemAdministration