Differences between revisions 39 and 40
Revision 39 as of 2018-04-13 17:36:04
Size: 3694
Editor: ?SergiyKolesnikov
Comment: Clarify the interactive/non-interactive difference. Add instructions for changing a users interactive shell.
Revision 40 as of 2019-08-21 18:01:31
Size: 3762
Editor: nodiscc
Comment: WIP link to CommandLineInterface/DesktopEnvironment, add WP link, add categories, add todo, formatting, wording
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
A shell is a piece of software that provides an interface for users. Nowadays the term shell is mostly used for [[WikiPedia:Command-line_interface|command-line interface (CLI)]] shells (People tend to use the term [[WikiPedia:Desktop_environment]] rather than graphical shell). A '''[[https://en.wikipedia.org/wiki/Shell_(computing)|shell]]''' is a piece of software that provides an interface for users. Nowadays the term shell is mostly used for CommandLineInterface shells.
Line 6: Line 6:
== Default Shell == "Graphical shell" is a rarely used term for a DesktopEnvironment.
Line 9: Line 10:
A non-interactive shell is used to execute system scripts or scripts that use {{{#!/bin/sh}}} [[https://en.wikipedia.org/wiki/Shebang_(Unix)|shebang]]. Debian uses DebianPkg:dash as the default non-interactive shell. It is not intended to be used interactively by a user, for example, in a terminal emulator (hence non-interactive). Therefore, many interactive features are not present in DebianPkg:dash, making it faster and more memory efficient than DebianPkg:bash. Before DebianSqueeze DebianPkg:bash was used as the default non-interactive shell. A non-interactive shell is used to execute system scripts or scripts that use {{{#!/bin/sh}}} [[https://en.wikipedia.org/wiki/Shebang_(Unix)|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 compatibility with POSIX 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.
Line 79: Line 87:
Line 80: Line 89:
CategorySystemAdministration
'''TODO:''' refactor this page

----

CategorySystemAdministration | CategoryCommandLineInterface

Translation(s): English - Français - Italiano - Brasileiro - Русский - Español

(!) ?/Discussion

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.

Default 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 compatibility with POSIX 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.

Default Interactive shell

An interactive shell is used by a user in a virtual console or a terminal emulator. The default interactive shell is bash. The default interactive shell for newly created users can be set in /etc/adduser.conf.

Changing a User's Default Interactive Schell

Check which shells are currently installed:

$ cat /etc/shells

/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/bin/zsh
/usr/bin/zsh

Change the default shell:

$ chsh

Enter the new value, or press return for the default
    Login Shell [/bin/bash]: /bin/zsh

Restart the terminal emulator for the change to take effect.

Available shells

Debian provides many different shells ( see http://packages.debian.org/stable/shells/ ), many of them are still provided for compatibility with existing assets.

The main shells:

Note on some other shells:

See also


TODO: refactor this page


CategorySystemAdministration | CategoryCommandLineInterface