- 01Setting up (what you'll need)
- 02Your first shell script (echo)
- 03Using variables
- 04Command-line arguments ($1, $2 ...)
- 05Branching (the if statement)
- 06Repeating (the for loop)
- 07Repeating (the while loop)
- 08Writing your own function
- 09Working with arrays
- 10Command substitution ($())
- 11Working with strings (parameter expansion)
- 12Reading from standard input (read)
- 13Exit status and && / ||
- 14Pipes and redirection
- 15The case statement
- 16Arithmetic ($(( )))
- 17The basics of grep, sed and awk
- 18Argument checks and error handling
- 19Function return values and exit codes
- 20[Project] Build a small log-tallying script
Working with strings (parameter expansion)
This lesson covers basic string handling in a shell script — parameter expansion.
${#name} gives the character count and ${name:start:length} takes a substring. It is a distinctive notation, quite unlike the method calls of other languages.
The sample code checks the character count with ${#message} and takes the first five characters with ${message:0:5}.
A common early stumble is just how much this ${} notation covers. Beyond simply expanding a variable, it packs in character counts, substrings, default values, and more — all inside the same ${}.
In professional work, this string handling is used for stripping the extension off a log file name and for pulling one part out of a path.
๐งช This site can't compile or run Shell Script directly, so it checks on the spot whether what you typed matches the reference code (scoring happens entirely in your browser โ nothing is sent anywhere).
