

0 / 2 embers
0 / 3000 xp
click for more info
Complete a lesson to start your streak
click for more info
Difficulty: 5
click for more info
Not enough gems
Cost: 6 gems
1: Welcome to Learn Linux
incomplete
2: What Is a Terminal?
incomplete
3: What Is a Shell?
incomplete
4: Command Line vs. GUI
incomplete
5: Variables
incomplete
6: History
incomplete
7: Navigate History
incomplete
This lesson's interactive features are locked, please to keep using them
So if your terminal is just a program that lets you issue text-based commands and renders the output of those commands...
...What is the program that runs those commands???
That's a shell.
Shells do a lot of things, but their main job is to interpret the commands you type and execute them.
Shells are often referred to as "REPLs." REPL stands for
This is a fancy way of saying that shells are programs that:
The expr command evaluates a simple expression and prints the result. It's a tiny program, but it's a great way to watch the shell "read, eval, and print."
expr 123456 + 7890
Submit the shell checks.
If you're confused about prompts vs outputs, here's a quick explanation. Here's a session with my shell:
wagslane:~$ echo hello
hello
wagslane:~$
This is the "prompt": wagslane:~$
It's just telling me that the shell is ready to accept a command.
This is the command I typed: echo hello
Once I pressed Enter, the shell read my command, evaluated it, and printed the output: hello
Then, the shell printed a new prompt so I can run a different command: wagslane:~$