- What do we, by convention, do as the first thing when we learn a new programming or scriping language? We print the string "Hello World".
- What is the shebang for Bash? #!/bin/bash
- Why is the shebang needed? If we're running the script without specifying which program we should use, the shebang will allow Linux to use the correct one.
- In what three ways can we run a script?
- By using the program which we want to run it with:
bash script.sh
- By setting the executable permission and prefixing the scriptname with
./
:./script.sh
- By using the program which we want to run it with:
- By setting the executable permission and using the fully qualified path to the file:
/tmp/script.sh
- By setting the executable permission and using the fully qualified path to the file:
- Why do we place such emphasis on readability when creating shell scripts?
- Scripts are much easier to use if the person using them can easily understand what the script does
- If anyone other than yourself needs to edit the script (and you can consider yourself 'someone else' too after a few months!) it helps tremendously if it's simple to understand
- Why do we use comments? So we can explain things in the script which might not be obvious by just looking at the commands. Furthermore, it also allows us to give some design rationale if that helps clarify the script.
- Why do we recommend including a script header for all shell scripts you write? If gives a bit of information on the author, age and description to the script. It helps give context to the script, which can be very helpful when the script is not working as expected, or needs to be modified.
- Which three types of verbosity have we discussed?
- Verbosity in comments
- Verbosity in commands
- Verbosity in command output
- What is the KISS principle? KISS, which stands for Keep It Simple, Stupid, is a design recommendation which helps us to remember that we should keep things simple, as that often increases usability and readability, while even being the best solution most of the times as well.