Skip to main content

bashate

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.

The output format aims to follow pycodestyle (pep8) default output format.

Currently Supported Checks

Errors

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

  • E005: file does not begin with #! or have a .sh prefix

  • E006: check for lines longer than 79 columns

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 or elif

  • E012: heredoc didn’t end before EOF

  • E020: Function declaration not in format ^function name {$

Obsolete, deprecated or unsafe syntax

Rules to identify obsolete, deprecated or unsafe syntax that should not be used

  • E040: Syntax errors reported by bash -n

  • E041: Usage of $[ for arithmetic is deprecated for $((

  • E042: local declaration hides errors

  • E043: arithmetic compound has inconsistent return semantics

  • E044: Use [[ for =~,<,> comparisions

Metadata

Release files for bashate 2.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bashate 2.1.1
File Size Uploaded Provenance Actions
bashate-2.1.1.tar.gz 34.9 kB Without provenance Details for bashate-2.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for bashate 2.1.1
File Interpreter ABI Platform Actions
bashate-2.1.1-py3-none-any.whl Python 3 none any Details for bashate-2.1.1-py3-none-any.whl

Total release size: 62.3 kB

Release files / bashate-2.1.1.tar.gz

Download URL bashate-2.1.1.tar.gz
Size 34.9 kB
Tags Source
SHA-256 checksum
How to use checksums
4bab6e977f8305a720535f8f93f1fb42c521fcbc4a6c2b3d3d7671f42f221f4c
BLAKE2b-256 checksum
How to use checksums
4d0c35b92b742cc9da7788db16cfafda2f38505e19045ae1ee204ec238ece93f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.7

Release files / bashate-2.1.1-py3-none-any.whl

Download URL bashate-2.1.1-py3-none-any.whl
Size 27.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3104d565a7a0f7ee2cf4028cc584c723a202f52a8ddffe4a39b8cbb0ac5d3e94
BLAKE2b-256 checksum
How to use checksums
7aaf4a6c74d83aa323cf643f2ca30977b3c684a1ce7769f762227d9c0af00dc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.7

Security for bashate 2.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page