Automic VaultAutomic Vault

brew

使用 Homebrew, Nix 安装 bashate

查看 bashate 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

安装

其他安装命令

macOS

Homebrew已验证 · 100%
brew install bashate

local Homebrew formula metadata

Linux

Nix已验证 · 92%
nix profile install nixpkgs#bashate

nixpkgs package indexes · pkgs/by-name/ba/bashate/package.nix · 来源: api.github.com

概览

软件包摘要

Code style enforcement for bash programs

命令和别名

  • bashate

历史

项目历史与用法

bashate is OpenStack's style checker for Bash scripts. It is essentially a pycodestyle-style lint gate for shell code, built for projects where Bash scripts are part of the reviewed and tested codebase.

项目历史

The official README calls bashate a pep8 equivalent for Bash scripts and says it attempts to fill the same automated code-review role for Bash that pep8 did in many OpenStack projects. It also states that bashate started in the DevStack project and would continue to evolve over time.

The OpenStack documentation and Opendev source identify it as an Apache-licensed OpenStack project with docs, source, bugs, release notes, and contribution pages. Its documented checks cover whitespace, indentation, line endings, line length, structure rules, `bash -n` syntax errors, and obsolete or unsafe syntax.

采用历史

bashate's adoption is tied to OpenStack's large shell-script surface, especially DevStack and project automation. The batch input shows Homebrew and Nix packaging; in practice, the tool is most valuable to contributors and CI jobs enforcing OpenStack-adjacent shell style.

The release notes and official tag list show a 0.x line followed by 1.0.0 and 2.x releases, enough history to treat it as a maintained OpenStack utility rather than a one-off script.

使用方式

Users run `bashate` against shell scripts to catch style and safety issues before review or CI. Its output intentionally follows the default pycodestyle output format, making it familiar in OpenStack's Python-heavy review culture.

The documented checks include trailing whitespace, hard tabs, non-multiple-of-four indents, missing final newline, missing shebang or `.sh` suffix, long lines, malformed control structures, heredoc termination, function declaration style, `bash -n` syntax errors, deprecated `$[` arithmetic, risky `local` declarations, and `[[` recommendations for comparisons.

为什么软件包爱好者会关心

bashate is package-nerd significant because it shows shell scripts becoming first-class reviewed artifacts in a large infrastructure project. It is not a general-purpose shell parser revolution; it is the small enforcement tool that makes a project's Bash style reproducible across laptops and CI workers.

It also captures an OpenStack packaging pattern: a narrow Python CLI published as a standalone package, documented by Sphinx, hosted in Opendev, and installed by package managers for repeatable developer workflows.

时间线

  • 2010s: bashate starts in the DevStack project, according to the official README.
  • 2010s: 0.x release tags establish the early style-checker line.
  • 2020: OpenStack release-notes build documents the 0.5.x, 0.6.0, and 1.0.0 release notes.
  • 2020s: Official tag list reaches the 2.x release line.
  • 2020s: Homebrew and Nix package the `bashate` CLI.

Related projects

  • Related projects include DevStack, OpenStack's broader CI/review tooling, pycodestyle/pep8, ShellCheck, shfmt, and Bash itself. bashate's own README explicitly compares its role to pycodestyle.

来源

  • Official Opendev tag list shows 0.1.0 through 2.1.1 tags.
  • Official README says bashate is a pep8 equivalent for Bash scripts, started in DevStack, and follows pycodestyle output format.
  • Official docs list project documentation, source, bug tracker, release notes, contributing docs, and supported checks.
  • Official release notes page documents 0.5.x, 0.6.0, and 1.0.0 notes.
  • input.source_facts.package-manager lists Homebrew and Nix packaging.

安全态势

风险级别:绿色

narrow executable package without higher-risk signals.

风险分类器

绿色 风险 · 低 置信度 · appliance

原因

  • narrow executable package without higher-risk signals

信号

  • metadata:no-higher-risk-signals

安装行为

  • formula 元数据中未记录 Homebrew post-install 钩子。
  • Homebrew bottle 元数据适用于 1 个平台目标。
  • 安装时包含 1 个运行时依赖。

建议审查

在无人值守的代理使用前,请检查该工具是否读取明文凭据、写入远程状态、发布制品或调用插件。

可执行文件

已安装的可执行文件

命令类型暴露范围备注
bashatecli全局可执行文件

新鲜度

版本和新鲜度

这些信号区分页生成时间、软件包管理器活动和上游发布比较。只有存在证据 URL 和可比较版本时,才会提示版本落后。

页面生成时间2026-07-25
管理器版本2.1.1
管理器更新时间2026-07-15
本地数据OK
上游not checked
检测到的最新版本未检测到

https://opendev.org/openstack/bashate

安装元数据

软件包元数据

软件包键brew:bashate
版本2.1.1
软件包管理器Homebrew
软件包管理器页面https://formulae.brew.sh/formula/bashate
主页https://opendev.org/openstack/bashate
仓库https://opendev.org/openstack/bashate
上游文档https://docs.openstack.org/bashate/latest
许可证Apache-2.0
源码归档https://files.pythonhosted.org/packages/4d/0c/35b92b742cc9da7788db16cfafda2f38505e19045ae1ee204ec238ece93f/bashate-2.1.1.tar.gz
最后更新2026-07-15T10:20:03Z
Pulseupdated
依赖python@3.14
Bottle可用 (于 all)
Homebrew post-install未定义
服务未声明

注册表事实

源数据库详情

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namebashate
Version Scheme0
Revision3
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

源数据库匹配

其他软件包管理器记录

匹配项来自外部软件包管理器索引,并与本地 Automic Vault 软件包链接分开显示。

Nix95%

bashate

nix profile install nixpkgs#bashate
  • normalized package name match
  • 匹配方式:Bashate
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ba/bashate/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

来源线索

由仓库数据生成

此页面由 av-webscripts/generate-pkg-sqlite.py 生成的私有软件包 SQLite 工件提供。

使用的来源

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment