bash8 man page

bash8 — bash8



A pep8 equivalent for bash scripts

This program attempts to be an automated style checker for bash scripts to fill the same part of code review that pep8 does in most OpenStack projects. It started from humble beginnings in the DevStack project, and will continue to evolve over time.


Free software: Apache license







Currently Supported Checks


Basic white space errors, for consistent indenting


E001: check that lines do not end with trailing whitespace


E002: ensure that indents are only spaces, and not hard tabs


E003: ensure all indents are a multiple of 4 spaces


E004: file did not end with a newline

Structure Errors

A set of rules that help keep things consistent in control blocks. These are ignored on long lines that have a continuation, because unrolling that is kind of "interesting"


E010: do not on the same line as for


E011: then not on the same line as if


E012: heredoc didn't end before EOF


At the command line:

$ pip install bash8

Or, if you have virtualenvwrapper installed:

$ mkvirtualenv bash8
$ pip install bash8


To use bash8 in a project:

import bash8


If you would like to contribute to the development of OpenStack, you must follow the steps in the "If you're a developer, start here" section of this page:

Once those steps have been completed, changes to OpenStack should be submitted for review via the Gerrit tool, following the workflow documented at:

Pull requests submitted through GitHub will be ignored.

Bugs should be filed on Launchpad, not GitHub:








Feb 11, 2017 bash8