- How does an if-then(-else) statement end?
With the reverse of the word if: fi - How can we use regular expression search patterns in a conditional evaluation?
By employing the =~ comparison symbol. For example: [[ ${var} =~ [[:digit:]] ]] - Why do we need the elif keyword?
If we want to sequentially test for more than one condition, we can use else if (elif). - What is nesting?
Using an if-then-else statement or loop within another if-then-else statement or loop. - How can we get information about how to use shell builtins and keywords?
By using the command help, followed by the builtin or keyword we want information about. For example: help [[ - What is the opposite keyword of while?
until. A while loop runs until the condition is no longer true, an until loop runs until the condition is no longer false. - Why would we choose the for loop over the while loop?
for is more powerful and has many convenient shorthand syntaxes which would be hard or unreadable with while. - What is brace expansion and on which characters can we use it?
Brace expansion allows us to write very short code, which generates a whitespace delimited list based on ASCII characters. For example: {1..10} prints the numbers 1 through 10, with spaces in between. We can also use this for uppercase or lowercase letters, or any range in the ASCII character set. - Which two keywords allows us to have more granular control over loops?
break and continue. break stops the current loop, while continue jumps to the next iteration in the loop.
- If we are nesting loops, how can we employ loop control to influence outer loops from an inner loop?
By adding a number higher than 1 to the break or continue keyword. Example: break 2 exits from both the inner and one outer loop.