DevOps Bash Tools: 1200+ Scripts for DevOps Engineers
DevOps Bash Tools is Hari Sekhon's personal collection of 1200+ Bash scripts and an advanced .bashrc environment for AWS, GCP, Kubernetes, Docker, CI/CD, and databases, released under the MIT license. Reach for it to copy a working script for one task, like the AWS IAM report or Kubernetes inventory script. Skip it if you need a maintained SDK with versioned releases - this is one maintainer's toolbox, not a supported framework.
What is Hari Sekhon's DevOps Bash Tools?
Hari Sekhon's DevOps Bash Tools is a public GitHub repository holding 1200+ Bash scripts plus an advanced Bash environment (.bashrc, .bash.d/*.sh) built over years of contracting for Cloudera and Hortonworks. It wraps CLI operations for AWS, GCP, Kubernetes, Docker, databases, and CI systems like Jenkins into single-command scripts. Per the README, it also powers many of the author's other repos and over 600 CI builds.
Key Features for DevOps Engineers
- ✓Over 1200 Bash scripts organized by technology - AWS, GCP, Kubernetes, Docker, databases, CI/CD - rather than bundled into one monolithic tool.
- ✓An advanced Bash environment, .bashrc plus .bash.d/*.sh, that adds aliases, functions, colouring, and automatic PATH setup for Python, Perl, Ruby, NodeJS, and Golang across Linux and Mac.
- ✓curl_auth.sh loads OAuth2/JWT tokens or credentials from environment variables or a starred password prompt through a RAM file descriptor, keeping them off the process list.
- ✓Installation scripts under install/ for tools like AWS CLI, Azure CLI, GCloud SDK, Terraform, Terragrunt, kubectl, Helm, and eksctl, with OS detection for RPM, Deb, Apk, and Homebrew.
- ✓A drop-in CI framework for standard checks across major CI systems (Jenkins, GitHub Actions, GitLab CI, CircleCI, Travis CI, and others), including CI-environment detection.
- ✓Dot-config files for git, vim, screen, tmux, and PostgreSQL's psql, symlinked into $HOME only when no existing config would be overwritten.
- ✓Utility libraries (lib/*.sh) shared across Hari Sekhon's other repos for Docker, CI detection, and port/HTTP availability checks.
Who Benefits from This Collection?
DevOps Bash Tools fits DevOps engineers or SREs managing multi-cloud infrastructure (AWS and GCP alike) who want a working script to copy for a specific task rather than a packaged CLI, and contractors who need to bootstrap a new client machine fast. It also suits anyone who likes heavy .bashrc customization. It's a poor fit if you need an installable package with a stable, versioned API, or automation a whole team maintains and tests centrally.
Getting Started with DevOps Bash Tools
The README lists two paths. The quick one: curl -L https://git.io/bash-bootstrap | sh, which adds sourcing to your .bashrc/.bash_profile, symlinks dotfiles only where none already exist, installs OS package dependencies, and installs the AWS CLI. The manual one: clone the repo and run make to install just the package dependencies for the scripts - git clone https://github.com/HariSekhon/DevOps-Bash-tools bash-tools, cd bash-tools, make. From there, make install sets your shell profile to source the repo, or make bash links only .bashrc and the dotfiles.
Using the Scripts and Environment
Once installed, scripts under bin/ and the per-technology directories run directly by path, and the functions in .bash.d/ are available in any new shell. One example from the README: foreach_path_bin.sh terraform --version runs every terraform binary found in $PATH so you can compare versions across install locations. With 1200+ scripts, there's no single command reference beyond the README's Index section - you browse by category to find the one you need.
Advantages of This Script Collection
- ✓One repo spans a wide range of technologies - AWS, GCP, Kubernetes, Docker, multiple CI systems, several databases - instead of doing one narrow job.
- ✓Scripts run independently, so you can pull a single file without adopting the whole .bashrc environment.
- ✓MIT license means copying a script into your own repo or CI pipeline carries almost no restriction.
- ✓The curl_auth.sh RAM-file-descriptor trick for handling credentials is worth borrowing even if you skip the rest of the repo.
Considerations Before Adoption
- △No changelog, version tags, or release notes appear in the available metadata, so there's no way to tell what changed between clones or pin a version the way you would a package.
- △It's a single-maintainer project (Hari Sekhon), not a team-backed tool, so bus-factor risk is real if you build critical automation on top of it.
- △The bootstrap one-liner (curl -L https://git.io/bash-bootstrap | sh) edits your shell profile and installs OS packages, which is a lot of trust to hand a curl pipe.
- △With 1200+ scripts spread across dozens of categories, there's no searchable command index beyond the README's Index section, so finding the one script you actually need takes digging.
Other DevOps Automation Options
Frequently Asked Questions
DevOps Bash Tools covers AWS, GCP, Kubernetes, Docker, CI/CD pipelines, database administration (PostgreSQL, MySQL, Kafka, Hadoop), Git-hosting APIs (GitHub, GitLab, Bitbucket), and general Linux/Mac system administration, each as its own Bash script.
Run curl -L https://git.io/bash-bootstrap | sh for the full bootstrap, or clone the repo and run make inside it to install just the package dependencies for the scripts you plan to use.
DevOps Bash Tools detects the OS and installs the right RPM, Deb, Apk, or Homebrew packages, so it runs on both Linux and Mac; a handful of scripts, like the AppleScript automation ones, are Mac-only by design.
DevOps Bash Tools is released under the MIT license, so copying individual scripts into your own repos or CI pipelines carries minimal restriction.
The bootstrap script only symlinks dotfiles like .vimrc or .gitconfig when they don't already exist, specifically to avoid overwriting your own configs, and .bash.d/*.sh sources cleanly into an existing .bashrc.
DevOps Bash Tools has dedicated script categories for AWS (IAM reports, EC2, ECR, EKS, S3, CloudTrail) and GCP (GCE, GKE, GCR, BigQuery, Cloud SQL), plus installers for the AWS CLI, Azure CLI, and GCloud SDK.
The problem it solves
DevOps engineers keep rewriting one-off Bash wrappers around cloud CLIs (aws, gcloud, kubectl) and the same IAM or resource-inventory reports for every client or personal environment. DevOps Bash Tools packages the ones Hari Sekhon wrote over years of contracting for Cloudera and Hortonworks, so you don't have to write them from scratch again.
Best use cases
- •Bootstrapping a new dev workstation's dotfiles and CLI installs with one curl | sh command.
- •Running one-off AWS IAM, EC2, or S3 audit scripts without writing your own aws-cli wrapper.
- •Wiring CI-environment detection and standard checks into a Jenkins, GitHub Actions, or GitLab CI pipeline.
- •Spinning up disposable PostgreSQL, MySQL, MariaDB, or SQLite Docker sandboxes for testing.
- •Auto-authenticating curl calls to internal or third-party APIs via curl_auth.sh instead of hand-rolling OAuth boilerplate.
