Site Tools


shell

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
shell [February 09, 2026 at 20:32] yanevskivshell [August 22, 2026 at 15:22] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +# Shell
 +
 +**Shell** is a command interpreter that lets you run programs and orchestrate them. Type commands in the terminal, chain programs via pipes, redirect input/output, and run jobs in the background. The shell parses what you type, finds the program, passes arguments, and handles environment variables.
 +
 +The most popular shell on [[gnu-linux|GNU/Linux]] is Bash. Other shells include sh (POSIX standard), zsh, and fish. All shells follow similar principles but differ in syntax and built-in features. Scripts written for POSIX sh work across shells; Bash-specific features like associative arrays do not.
 +
 +```bash
 +$ echo "Hello, world"           # run a command
 +$ ls -la /tmp | grep config     # pipe output to another command
 +$ ./script.sh &                 # run in background
 +$ VAR=value ./program           # set environment variable
 +```
 +
 +The shell is also a programming language. You can write scripts (shell files) with variables, conditionals, loops, and functions to automate tasks.
 +
 +## Concepts
 +
 + 1. [[shell-basics|Basics]]
 + 2. [[shell-control-flow|Control flow]]
 + 3. [[shell-functions|Functions]]
 + 4. [[shell-io|I/O and redirection]]
 + 5. [[shell-advanced-features|Advanced features]]
 + 6. [[shell-file-operations|File operations]]
 + 7. [[shell-processes|Process management]]
 + 8. [[shell-best-practices|Best practices]]