The Shell is a tool for setting up the environment for a program to run.
This includes:
sh is a lightweight scripting language and can be used for configuration
sort < foo.txt | sed 's/a/b/' | grep back
Behind the scene, the 3 functions each runs in their own enviornment
foo.txt → sort → pipe → sed → piple → grep
A simple shell command
grep abc def ghi
In a high level picture, shell rearrange and configure the program to execute the functions
The shell doesn't care which of the strings are file names or pattern