How To Write Comments In Bash Scripts.
In this article, we’ll cover the basics of writing comments in Bash.
Comments are used to explain the code. For example, if you have a complex regex or parameter substitution inside your Bash script, you should write a comment describing what the code does. Comments should be short and to the point. Do not explain something which is simple and obvious to the reader.
The comments also help other developers and system administrators who may need to maintain the script to understand your code and its purpose.
Writing Comments in Bash
Bash ignores everything written on the line after the hash mark (#). The only exception to this rule is when the first line on the script starts with the #! characters. This sequence of characters is called Shebang and is used to tell the operating system which interpreter to use to parse the rest of the file.
Comments can be added at the beginning on the line or inline with other code:
The blank space after the hash mark is not mandatory, but it will improve the comment’s readability.
If your text editor supports syntax highlighting, comments are usually represented in green.
Comments are also useful when testing a script. Instead of deleting some lines or blocks, you can comment them out:
Multiline Comments in Bash
Unlike most of the programming languages, Bash doesn’t support multiline comments.
The simplest way to write multiline comments in Bash is to add single comments one after another:
Another option is to use HereDoc . It is a type of redirection that allows you to pass multiple lines of input to a command. If the HereDoc block is not redirected to a command, it can serve as a multiline comments placeholder:
Using HereDoc is a hack, not a real builtin way to write multiline Bash comments. To avoid any issues, you should prefer using single-line comments.
Writing comments is a good practice and helps other developers, including future self, to understand the shell script. In Bash, everything after the hash mark (#) and until the end of the line is considered to be a comment.