#!/bin/sh
Before you add anything else to your script, you need to alert the system that a shell script is being started. This is done using the shebang construct.
# This is the pyhton3 shebang line [https://en.wikipedia.org/wiki/Shebang_(Unix)]
#!/usr/bin/python3
# A shebang line defines where the interpreter is located. In this case, the python3 interpreter is located in /usr/bin/python3. A shebang line could also be a bash, ruby, perl or any other scripting languages' interpreter, for example: #!/bin/bash.
# Without the shebang line, the operating system does not know it's a python script, even if you set the execution flag (chmod +x script.py) on the script and run it like ./script.py. To make the script run by default in python3, either invoke it as python3 script.py or set the shebang line.
# You can use #!/usr/bin/env python3 for portability across different systems in case they have the language interpreter installed in different locations.
I know what you are thinking, but no Shebang is something else in bash/shell scripting
Before you add anything else to your script, you need to alert the system that a shell script is being started.
This is done using the shebang construct.