|
1 | 1 | # Operating System Shell |
2 | 2 |
|
3 | | - a shell is a computer program that exposes an operating system's services to a human user or other programs. In general, operating system shells use either a command-line interface (CLI) or graphical user interface (GUI), depending on a computer's role and particular operation. It is named a shell because it is the outermost layer around the operating system.[1][2] |
| 3 | +A shell is a computer program that exposes an operating system's services to a human user or other programs. |
| 4 | + |
| 5 | +Operating system shells use either a command-line interface (CLI) or graphical user interface (GUI), depending on a computer's role and particular operation. It is named a shell because it is the outermost layer around the operating system. |
4 | 6 |
|
5 | 7 | Command-line shells require the user to be familiar with commands and their calling syntax, and to understand concepts about the shell-specific scripting language (for example, bash), while graphical shells place a low burden on beginning computer users and are characterized as being easy to use, yet most GUI-enabled operating systems also provide CLI shells, normally for performing advanced tasks. |
6 | 8 |
|
7 | 9 | [Wikipedia: Shell - Computing](https://en.wikipedia.org/wiki/Shell_(computing)){target=_blank .md-button} |
8 | 10 |
|
9 | 11 | ## Command Line Shell |
10 | 12 |
|
11 | | -- bash |
12 | | -- zsh |
| 13 | +- [bash](bash.md) Bourne Again Shell created as a free version of the Bourne Shell (`sh`) |
| 14 | +- [zsh](zsh.md) is an advanced shell with programable command-line completion, extended file globbing, improved variable & array handling and themeable prompts |
| 15 | + |
| 16 | +## Rich prompt |
| 17 | + |
| 18 | +The default shell prompt shows minimal information, e.g. an idicator if a user account is root (`#`) or regular user account (`$`). |
| 19 | + |
| 20 | +A richer and more informative experience by adding a prompt theme. |
| 21 | + |
| 22 | +[:fontawesome-solid-book-open: Starship](starship-prompt.md) provides a cross-shell prompt that conveys more information about the current shell (path, time, execution time of commands, etc.). |
| 23 | + |
| 24 | +{loading=lazy} |
| 25 | + |
13 | 26 |
|
14 | 27 | ## Aliases |
15 | 28 |
|
16 | | -Define aliases to optomise commands and create useful default flags when calling commands |
| 29 | +Define aliases to optimise commands and create useful default flags when calling commands |
17 | 30 |
|
18 | 31 | Use a `shell-aliases` file to define aliases to be used with any command line shell. |
19 | 32 |
|
@@ -52,7 +65,7 @@ Source the shell aliases from the shell configuration files |
52 | 65 | ```shell title=".bashrc" |
53 | 66 | # Source Shell Aliases |
54 | 67 | if [ -f $HOME/.config/shell-aliases ]; then |
55 | | - source $HOME/.config/shell-aliases |
| 68 | + source $HOME/.config/shell-aliases |
56 | 69 | fi |
57 | 70 | ``` |
58 | 71 |
|
|
0 commit comments