How to use Single and Multiple line Comments in Bash

Comments play a crucial role in scripting and programming by providing human-readable explanations within the code. They are non-executable lines meant for developers to understand the logic, purpose, or usage of specific code segments. Comments enhance code readability, making it easier for others (or even the original coder) to comprehend the code's functionality, design choices, or potential pitfalls.

Comments also aid in documentation, helping to describe complex algorithms, functions, or configurations. Well-placed comments facilitate collaboration, maintenance, and troubleshooting, contributing to overall code quality and understanding. However, it's essential to maintain a balance and avoid excessive or redundant comments to ensure clarity without cluttering the codebase.

Writing Comments in Bash

In Bash, comments are used to add explanatory notes or remarks within a script that are ignored by the interpreter when the script is executed. Comments are helpful for documenting the code, making it more understandable for others (or even for yourself in the future). There are two ways to add comments in Bash:

Single-Line Comments

The most common bash comment is the single-line variety. Use the # symbol at the beginning of a line, and anything following it becomes a comment, ignored by the interpreter.

# This is a single-line comment explaining the script's purpose. echo "Hello World!" # This prints a friendly greeting. # Ignoring this line because it's a comment.
Tip: Add a space after the # for better readability.

Multiple Lines Made Easy

While Bash lacks dedicated multi-line comments, here's a clever trick! Heredoc allows you to capture multi-line input. We can use this to create blocks of comments.

Here's how it works:
  1. Start with : << 'COMMENT_TAG', where COMMENT_TAG is any unique identifier.
  2. Write your multi-line comment on subsequent lines.
  3. End the comment block with a new line containing only the COMMENT_TAG.
: << 'MULTILINE_COMMENT' This is a multi-line comment explaining a complex part of the script. It can span multiple lines and include details for easier understanding. MULTILINE_COMMENT

Best Practises For Bash Commenting

Document the script's purpose

At the script's beginning, add a comment summarizing its purpose and usage, providing a clear overview for users and collaborators, ensuring efficient understanding and use of the script.

Explain complex logic

Insert comments near intricate code sections, breaking down complex logic into understandable steps. This aids comprehension, especially for complex algorithms or non-trivial operations.

Annotate variables and functions

Accompany variables and functions with comments briefly explaining their roles and functionalities. This documentation enhances code clarity, making it easier for others to follow and maintain.

Use consistent style

Maintain a consistent style, including indentation and formatting, throughout the code and comments. Consistency enhances code readability, maintaining a coherent and professional appearance.

Don't overdo it

While comments are valuable, avoid excessive ones that may clutter the code. Comment where necessary, focusing on crucial explanations to prevent information overload, ensuring a balanced and clean codebase.

Tools for Commenting Prowess

Consider using a code editor or IDE with Bash syntax highlighting. These tools often offer features like comment templates and auto-completion, making commenting even faster and smoother.


Comments are added using the # symbol for single-line comments or Here Documents for multiline comments. Comments serve to document the script's purpose, explain complex logic, annotate variables and functions, maintain consistent style, and caution against excessive commenting for code clarity.