Do You Need Then After Else Bash

Shell Programming

In Bash scripting, the if-else construct is a powerful tool for executing different commands based on specified conditions. One common question that frequently arises is whether the keyword then is necessary after else. Let’s dive into this hot topic and shed some light on the matter.

Understanding the Basics

When writing conditional statements in Bash, the structure is typically as follows:

if [ condition ]; then
# commands to execute when condition is true
# commands to execute when condition is false

Here, the then keyword is used to specify the commands to be executed if the if condition evaluates to true. The else keyword is followed by the commands to be executed if the if condition evaluates to false.

So, Do You Need Then After Else?

The answer is no. In Bash scripting, the keyword then is not required after else. While it is a common practice to use then for readability and maintainability, omitting it after else is perfectly valid and the script will execute without any issues.

Personal Experience

As someone who has been writing Bash scripts for various automation tasks, I have found that the use of then after else can enhance the readability of the code. It provides a clear visual indication of the branching logic. However, in scenarios where brevity is a primary concern, omitting then after else can lead to more concise and compact code.


While it’s acceptable to omit then after else, it’s essential to maintain consistency within your scripts. Consistent coding style and practices contribute to the overall maintainability and understandability of the codebase. Therefore, whether you choose to include or exclude then after else, it’s crucial to follow a standard approach throughout your Bash scripts.

In Conclusion

Ultimately, the decision of whether to include the then keyword after else in Bash scripting comes down to personal preference and the specific requirements of the script. As with many programming conventions, there is no absolute right or wrong answer, but rather a matter of what best suits your coding style and the readability of your scripts.