█████╗ ██╗ ██╗███████╗███████╗ ██████╗ ███╗ ███╗███████╗
██╔══██╗██║ ██║██╔════╝██╔════╝██╔═══██╗████╗ ████║██╔════╝
███████║██║ █╗ ██║█████╗ ███████╗██║ ██║██╔████╔██║█████╗
██╔══██║██║███╗██║██╔══╝ ╚════██║██║ ██║██║╚██╔╝██║██╔══╝
██║ ██║╚███╔███╔╝███████╗███████║╚██████╔╝██║ ╚═╝ ██║███████╗
╚═╝ ╚═╝ ╚══╝╚══╝ ╚══════╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝
███████╗██╗ ██╗███████╗██╗ ██╗
██╔════╝██║ ██║██╔════╝██║ ██║
███████╗███████║█████╗ ██║ ██║
╚════██║██╔══██║██╔══╝ ██║ ██║
███████║██║ ██║███████╗███████╗███████╗
╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
Awesome Shell
A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php. This awesome collection is also available on Unix-Shell.ZEEF.com.
Shells
Choose your base shell.
-
bash - GNU Project’s shell (Bourne Again SHell)
-
elvish - Friendly, expressive shell features like anonymous functions and data structures
-
es - The extensible shell, based on Plan 9’s rc
shell
-
fish - Smart and user-friendly command line shell
-
ion
- A modern system shell that features a simple, yet powerful, syntax. It is written entirely in Rust.
-
ksh93
- Korn Shell
-
mksh
- MirBSD Korn Shell
-
murex
- A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling)
-
ngs
- Fully featured scripting language created specifically for Ops. REPL is being developed.
-
nushell
- A modern shell written in Rust
-
oksh
- Portable OpenBSD ksh
-
osh - Bash compatible, with new/modern Unix shell language called Oil
-
pdksh - Public domain Korn shell
-
powershell a cross-platform task automation and configuration management framework, consisting of a command-line shell and scripting language
-
shell++
- Friendly and modern functional and object oriented shell script language
-
shenv
- Simple shell version management
-
tcsh - C shell with file name completion and command line editing
-
xonsh - Python-ish, BASHwards-looking shell language and command prompt
-
yash
- A POSIX-compliant command line shell with built-in support for completion and prediction based on command history
-
zsh - Powerful shell with scripting language
Command-Line Productivity
Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.
-
AdvancedNewFile
- Fast creation of files and directories in a recursive way. Inspired by the Vim plugin.
-
ag
- Super fast string search through a directory hierarchy
-
aliases
- Contextual, dynamic, organized aliases for bash
-
arttime
- Beauty of text art meets functionality of clock, timer, pomodoro++ time manager
-
autoenv
- Directory-based environments.
-
await
- single binary that run list of commands in parallel and waits for their termination
-
bartib
- A simple timetracker for the command line. It saves a log of all tracked activities as a plaintext file and allows you to create flexible reports.
-
bashhub
- :cloud: Bash history in the cloud. Indexed and searchable.
-
boilr
- A blazingly fast CLI tool for creating projects from boilerplate templates.
-
boom
- Store links and snippets in the command line
-
borg
- A terminal based search engine for bash commands
-
broot
- A better way to navigate directories
-
browsh
- The modern text-based browser
-
Buku
- Powerful command-line bookmark manager
-
byobu - Text-based window manager and terminal multiplexer
-
cod
— A completion daemon for shell that learns when you invoke --help
commands
-
CloudClip
- Your own clipboard in the cloud, copy and paste text with gist between different systems
-
ddgr
- DuckDuckGo from the terminal
-
desk
- A lightweight workspace manager for the shell
-
direnv
- An environment switcher for the shell, compare with autoenv
-
dnote
- A simple command line notebook with multi-device sync and web interface
-
eureka
- :bulb: CLI tool to input and store your ideas without leaving the terminal
-
fasd
- Command-line productivity booster, offers quick access to files and directories
-
fd
- A simple, fast and user-friendly alternative to find.
-
foxy
- Plain text bookmarks for Firefox and surf browsers.
-
fselect
- Find files with SQL-like queries.
-
funky
- Extends functionality of shell functions making them more powerful and flexible.
-
fz
- Seamless fuzzy tab completion for z
-
fzf
- A command-line fuzzy finder
-
gitmux
- Show Git status in Tmux status bar
-
googler
- Google Search, Google Site Search, Google News from the terminal
-
googlr
- Command line tool that lets you search Google from your terminal.
-
has
- has
helps you check presence of various command line tools and their versions on path
-
how2
- how2
finds the simplest way to do something in a unix shell. It’s like man
, but you can query it in natural language.
-
navi
- An interactive cheatsheet tool for the command-line
-
hhighlighter
- Colorize words in a command output
-
hr
- <hr />
for your terminal
-
hss
- An interactive parallel ssh client featuring autocomplete and asynchronous execution
-
hstr
- Bash History Suggest Box
-
k
- k is a Zsh script to make directory listings more readable, adding Git status, fileweight colors and rotting dates
-
k alias
- get kool aliases (and more) working with a simple one-liner
-
lf
- Terminal file manager written in Go, inspired by ranger
-
lf.sh
- Quickly search files with fewer typings and do many more (grepping, copying path to clipboard, etc)
-
lowcharts
- Draw low-resolution graphs in terminal
-
Lmod - Lua-based Environment Modules that enhances Tcl-based modules while being backward compatible (compare to modules)
-
loop
- Write and control complex loops with as one-liners
-
marker
- Bookmark your shell commands
-
mackup
- Keep your application settings in sync (OS X/Linux)
-
mcfly
- Fly through your shell history. Great Scot!
-
modules - Classical Tcl-based Environment Modules managing the shell environment (compare to Lmod, direnv, and autoenv)
-
nnn
- File browser and disk usage analyzer with excellent desktop integration
-
ok-sh
- Do you work on many different projects? And in each project, are there commands you use that are specific to that project? You need a .ok file.
-
parallel - Build and execute shell command lines from standard input in parallel
-
pass - Manage passwords from the command line with GPG encryption and optional git integration.
-
pathpicker
- Accepts inputs like grep, searches, git etc; allows selecting files from the result of the input, which you can then open or provide as argument to a command.
-
pdd
- Tiny date, time diff calculator with timers
-
percol
- Adds flavor of interactive filtering to the traditional pipe concept of UNIX shell
-
q
- Vim like macro registers for your Bash and Zsh Shell
-
qfc
- File-completion widget for Bash and Zsh
-
resh
- Contextual shell history for Zsh and Bash
-
rg
- ripgrep is a line oriented search tool that combines the usability of The Silver Searcher with the raw speed of GNU grep
-
screen - GNU terminal multiplexer
-
shell-history
- Visualize your shell usage with Highcharts
-
SHML
- Style framework for the terminal (Shell Markup Language)
-
slugify
- Command that converts filenames and directories to a web friendly format
-
sman
- :bug: A command-line snippet manager
-
spark
- ▁▂▃▅▂▇ in your shell
-
spark.fish
- ▁▂▃▅ Sparkline Generator
-
sheet
- Text snippets for the command line
-
spot
- Tiny file search utility
-
snips
- Command line tool to manage snippets of code.
-
sqlline
- Shell for issuing SQL to relational databases via JDBC (multiline, completion, highlighting, dialect support)
-
sshfs
- A tool for mounting remote file systems over SSH
-
sudocabulary
- Learn English Vocabulary from your terminal
-
surfraw - browse specific site and search the web from your terminal without browser.
-
task-manager
- Execute all your scripts with just two or three keystrokes.
-
td-cli
- A todo command line manager to organize and manage your todos across multiple projects.
-
tere
- A faster alternative to cd + ls
-
thefuck
- Fix common shell mistakes by using an easy to remember command
-
tldr
- A fully-functional bash client for tldr, simplified and community-driven man pages
-
tmux - Amazing terminal multiplexer
-
undollar
- undollar bites the dollar sign off the tip of the command you just pasted into your terminal
-
usql
- Universal command-line interface for SQL databases.
-
v
- z for vim.
-
wemux
- Multi-User Tmux Made Easy
-
xiki
- Makes the shell console more friendly and powerful
-
xplr
- A hackable, minimal, fast TUI file explorer
-
xsv
- a fast CSV command line toolkit written in Rust
-
xxh
- Bring your favorite shell wherever you go through the SSH.
Directory Navigation
-
aliasme
- alias helper to change directory quickly
-
autojump
- A cd command that learns - easily navigate directories from the command line
-
bashmarks
- Directory bookmarks for the shell
-
bd
- Quickly go back to a parent directory
-
commacd
- A faster way to move around in Bash
-
enhancd
- :rocket: A next-generation cd command with an interactive filter
-
goto
- A shell utility for navigation to aliased directories supporting auto-completion
-
jump
- Jump helps you navigate your file system faster by learning your habits.
-
lazy-cd
- Simple bash commands for bookmarked navigation of the file system, complete with bash-completion.
-
up
- Ascend directories by name or count; for bash, zsh, and fish.
-
z
- z is the new j, yo
-
z.lua
- A new cd command that helps you navigate faster by learning your habits
-
zoxide
- A faster way to navigate your filesystem, written in Rust
-
zpyi
- Python in Zsh - Easy python scripting in shell
Customization
Custom prompts, color themes, etc.
-
aphrodite-terminal-theme
— Minimalistic Aphrodite theme (prompt) for sexy terminals that works in bash, fish and zsh
-
base16-builder
- Base16-Builder
-
bash-full-of-colors
- Powerful prompt with screen, tmux, git support and many more
-
bash-git-prompt
- An informative and fancy Bash prompt for Git users
-
bash-powerline
- Powerline-style Bash prompt in pure Bash script
-
bashstrap
- A quick way to spruce up OSX terminal
-
bullet-train-oh-my-zsh-theme
- :bullettrain_side: An oh-my-zsh shell theme based on the Powerline Vim plugin
-
emojify
Emoji on the command line :scream:
-
flatui-terminal-theme - Nicer colors for terminal
-
geometry
- A minimal ZSH theme where any function can be added to the left prompt or (async) right prompt on the fly.
-
git-prompt
- Bash prompt with Git, SVN and HG modules
-
gittify
- A colorful Bash prompt + customized Git aliases
-
Gogh - Color Scheme
- Color Scheme for Gnome Terminal
-
liquidprompt
- A full-featured & carefully designed adaptive prompt for Bash & Zsh
-
mysql-colorize
- Colorization for mysql comand-line client
-
oh-my-git
- An opinionated git prompt for bash and zsh
-
oh-my-posh - Prompt theme engine for any shell and platform written in go.
-
polyglot
- An informative Git prompt that works in bash, zsh, ksh, mksh, pdksh, oksh, dash, yash, busybox sh, and osh
-
powerlevel10k
- Super flexible awesome powerline ZSH theme
-
sexy-bash-prompt
- Bash prompt with colors, Git statuses, and Git branches
-
starship - Fast, customisable, cross-shell prompt written in rust
-
synth-shell
- Greeter with a customizable status report and a fancy bash prompt
For Developers
Command-line development, version control, and deployment.
-
1Password SSH Agent - Authenticate Git and SSH workflows with biometric unlock using 1Password
-
ack - A grep-like search tool optimized for source code.
-
add-gitignore
- Interactive CLI that generates a .gitignore for your project based on your needs.
-
bcal
- Byte CALculator for storage conversions and calculations
-
bitwise
- Terminal based interactive bit manipulator in curses.
-
bocker
- Docker implemented in 100 lines of bash
-
cloc
- Count Lines of Code
-
doclt
- A command line interface to Digital Ocean
-
dokku
- Docker powered mini-Heroku. The smallest PaaS implementation you’ve ever seen.
-
forgit
- Utility tool for git
taking advantage of fuzzy finder fzf.
-
git-extra-commands
- Many Git extra utilities. Churn, cut-branch, improved-merge and many more.
-
git-extras
- Git utilities – repo summary, repl, changelog population, author commit percentages and more
-
git-open
- Type git open
to open the GitHub page or website for a repository in your browser
-
git-quick-stats
- Git quick statistics is a simple and efficient way to access various statistics in git repository.
-
git-semver
- Git plugin for easing semantic versioning and changelog validation
-
git-sh
- A customized Bash environment suitable for Git work
-
gita
- A command-line tool to manage multiple git repos.
-
hub
- hub helps you win at git.
-
just
- Task runner for saving and running project-specific commands.
-
licins
- Insert commented software licenses into source code.
-
mkdkr
- Makefile + Docker = CI Pipeline
-
mr - Multiple Repository management tool
-
nve
- Run any command on specific Node.js versions.
-
overcommit
- A fully configurable and extendable Git hook manager
-
pre-commit - A framework for managing and maintaining multi-language pre-commit hooks
-
rebound
- Instantly browse Stack Overflow results in your terminal when you get a compiler error
-
repren
- Command-line search-and-replace and file-renaming swiss army knife
-
slap
- Sublime-like terminal-based text editor that runs on Node.js
-
shipit
- Minimalistic SSH deployment
-
starring
- Automatically star the npm-packages that you are using on GitHub.
-
tag
- Instantly jump to your ag matches.
-
trunk - Blazingly fast meta code checker and formatter
-
vmn
- git-based automatic versioning and state recovery solution agnostic to language or architecture
-
wipe-modules
- A little agent that removes the node_modules folder of non-active projects
System Utilities
OS-related tools, including system administration, system debugging, and file and process management.
-
atop - ASCII full-screen performance monitor that is capable of reporting the activity of all processes
-
bat
- A cat
clone with wings
-
bmon
- Real-time network bandwidth monitor and rate estimator with human-friendly visual output
-
btop
- Linux/OSX/FreeBSD resource monitor
-
catcli
- The command line catalog tool for your offline data
-
ccat
- ccat is the colorizing cat. It works similar to cat but displays content with syntax highlighting.
-
exa
- A modern version of ls
.
-
progress
- Linux tool to show progress for cp
, rm
, dd
, and more…
-
stronghold
- Easily configure MacOS security settings from the terminal.
-
glances
- Glances an Eye on your system
-
goaccess
- GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems.
-
hblock
- Hosts-file based adblocker
-
histstat
- History for netstat
-
htop
- A ncurses based interactive process viewer which aims to be a better top
-
lnav - An advanced log file viewer for the small-scale
-
logdissect
- CLI utility and Python API for analyzing log files and other data.
-
ls++
- Colorized ls on steroids
-
lsd
- LSDeluxe, rewrite of GNU ls with lot of added features like colors, icons, tree-view and more formatting options.
-
lsp
- An improved ls
, with file descriptions in plain language and intelligent file grouping
-
maza
- Local ad blocker. Like Pi-hole but local and using your operating system.
-
mtr
- The functionality of the ‘traceroute’ and ‘ping’ programs in a single network diagnostic tool.
-
ncdu - NCurses Disk Usage
-
nmtui
- Text User Interface for controlling NetworkManager
-
powertop
- Battery/Power usage and device stats monitoring command-line tool, with tune-up options.
-
prettyping
- Making the output of ping
prettier, more colorful, more compact, and easier to read.
-
procdog
- Lightweight command-line control of long-lived processes like servers
-
quick-secure
- Quickly secure and harden UNIX/Linux systems
-
rng
- Copy range of lines from file or stdin to stdout.
-
tiptop
- Graphical command-line system monitor.
-
wifi-wand
- a Ruby command line application for managing WiFi on MacOS (install by gem install wifi-wand
)
-
xiringuito
- SSH-based “VPN for poors”
Downloading and Serving
Self-hosted, lightweight servers and networking tools written in shell scripts.
-
aria2
- aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, BitTorrent and Metalink
-
balls
- Bash on Balls
-
bashttpd
- A web server written in Bash
-
bashhub-server
- Private cloud shell history. Open source server for bashhub
-
bitpocket
- “DIY Dropbox” or “2-way directory (r)sync with proper deletion”
-
Dropbox-Uploader
- Dropbox Uploader is a Bash script which can be used to upload, download, list or delete files from Dropbox
-
httpie
- HTTPie is a command line HTTP client, a user-friendly cURL replacement
-
HTTPLab
- The interactive web server, let you inspect HTTP requests and forge responses.
-
Kapow!
- If you can script it, you can HTTP it.
-
ngincat
- Tiny Bash HTTP server using netcat
-
resty
- Little command line REST client that you can use in pipelines
-
shell2http
- HTTP-server to execute shell commands. Designed for development, prototyping or remote control
-
tshare
- File sharing from commandline.
-
vesper
- 🍸Vesper is a HTTP framework for Bash/Unix Shell
-
xh
- Friendly and fast tool for sending HTTP requests
-
yt-dlp
- Command-line program to download videos from YouTube.com and other video sites
Tools for handling video and audio files.
-
adb-export
- Export Android content providers to CSV format
-
Android-Kitchen
- A text-based kitchen for Android ROM customization. Uses shell scripts and works with Cygwin/OS X/Linux
-
Beets
- Music library manager and MusicBrainz tagger
-
cmus
- Cross-platform cli audio player.
-
dasel
- Query and update data structures using selectors from the command line. Comparable to jq
/ yq
but supports JSON, YAML, TOML and XML with zero runtime dependencies.
-
dzr
- Cross-platform Deezer.com audio player.
-
fx
- Command-line JSON processing tool by anononymus JavaScript functions
-
gifgen
- Simple high quality GIF encoding
-
image-scraper
- A cool command line image scraper with a lot of features.
-
imgp
- Blazing fast batch image resizer and rotator
-
jc
- Convert command output, file-types, and common strings to JSON or YAML for easier use in scripts.
-
jo
- A small utility to create JSON objects from command-line arguments.
-
jq
- Sed for json data. You can use it to slice and filter and map and transform structured data
-
korkut
- Quick and simple image processing at the command line.
-
library
- Create SQLITE databases for folders of music, video, images, or online media. Play and track media like Plex but a CLI-only interface with many sorting options.
-
mpv - Lets you play most audio and video formats (using ASCII characters) in the shell as well as in a GUI.
-
nehm
- Console tool, which downloads, sets IDv3 tags and adds to your iTunes (if you use it) your SoundCloud likes in convenient way
-
PiCAST
- PiCAST turns your $35 Raspberry Pi in to a Chromecast like Device
-
sejda
- Command line manipulation of PDF documents (split, merge, rotate, convert to jpg, extract text, etc)
-
visidata
- A terminal spreadsheet multitool for exploring and arranging data (csv/json/xml/xls/yaml/etc)
-
xidel
- Cli tool to filter, map and create HTML/XML/JSON data with (Turing-complete) XPath and XQuery.
-
xmlstarlet - Old but powerful tool for command-line XML formatting, filtering, and manipulation.
-
yq
- yq is a portable command-line YAML processor
Applications
Command line-based applications or command line access to existing services.
-
ansiweather
- Weather in your terminal, with ANSI colors and Unicode symbols
-
awless
- A powerful, innovative and small surface CLI to manage AWS.
-
bashblog
- A Bash script that handles blog posting
-
carbon-now-cli
- 🎨 Beautiful images of your code — from right inside your terminal.
-
choosealicense-cli
- Choose an OSS license from the comfort of your terminal
-
cointop
- The fastest and most interactive terminal based UI application for tracking cryptocurrencies
-
dstask
- Single binary terminal-based TODO manager with git-based sync + markdown notes per task
-
editly
- Command line video editor
-
facebook-cli
- Facebook command line tool
-
fanyi
- Translate English to Chinese in terminal
-
gcalcli
- Google Calendar command line interface
-
geeknote
- Command line evernote client
-
haxor-news
- Browse Hacker News like a haxor
-
hn-cli
- Browse Hacker News from the comfort of your Terminal
-
iponmap
- Draw point on world map using ip address
-
isitup
- Check whether a website is up or down
-
jrnl
- A simple command line journal application that stores your journal in a plain text file
-
kanban.bash
- commandline asciii kanban board for minimalist productivity bash hackers (csv-based)
-
ledger
- Command line accounting
-
licen
- Generate your license. Yet another lice, but implement with Jinja2 and docopt
-
md2png
- Convert markdown to PNG image
-
moviemon
- Everything about your movies within the command line.
-
nomino
- Batch rename utility using regex, sort and map file options.
-
pcalc
- Calculator made for programmers working with multiple number representations, sizes, and overall close to the bits.
-
pockyt
- Read, Manage, and Automate your Pocket collection.
-
pushblast
- Get PushBullet notifications when a shell program exits
-
pushbullet-bash
- Bash interface to the PushBullet API
-
ranger
- A console file manager with VI key bindings.
-
Reddit Terminal Viewer
- Browse Reddit from your terminal
-
SAWS
- A Supercharged AWS CLI
-
taskbook
- Tasks, boards & notes for the command-line habitat
-
taskwarrior - A command-line TODO list manager
-
terjira
- Command line power tool for Jira
-
ticker
— Terminal stock ticker with live updates and position tracking
-
vl
- URL link checker on text documents
-
wego
- Weather app for the terminal
-
whales
- A tool to automatically dockerize your applications
-
whereami
- Get your geolocation information from the CLI
-
wttr.in
- :partly_sunny: The right way to check the weather (curl wttr.in)
Games
All work and no play is a cruddy way to spend your day.
-
bash2048
- Bash implementation of 2048 game
-
minesweeper
- Bash implementation of minesweeper
-
nudoku
- ncurses based sudoku game written in C
-
piu-piu
- Horizontal scroller game in bash with multiplayer mode!
-
sedtris
- Tetris in sed
-
sed-scripts
- Arkanoid and Sokoban written using sed
-
SHTAP - Reusable text adventure engine for Bash 4
-
tty-solitaire
- Play solitaire in your terminal!
Shell Package Management
Tools for managing multiple shell configurations. For zsh-specific tools, see the Zsh section.
-
bash-it
- A community Bash framework
-
basher
- A package manager for shell scripts
-
bashing
- Smashing Bash into Pieces
-
bpkg - JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg
-
dotdrop
- Save your dotfiles once, deploy them everywhere
-
dotfiler
– Shell agnostic git based dotfiles package manager, written in Python.
-
fresh
- Keep your dotfiles fresh
-
homeshick
- Git dotfile synchronizer written in Bash
-
shallow-backup
- Easily create lightweight documentation of installed packages, dotfiles, and more
-
shundle
- Plugin manager for shell scripts
-
vcsh
- Config manager based on Git
-
yadm - Git-based dotfiles manager supporting encryption, alternates, and bootstrapping
Shell Script Development
Tools for writing, improving, or organizing Bash or other shell scripts
-
ansi
- ANSI escape codes in pure bash - change text color, position the cursor, much more
-
assert.sh
- Bash unit testing framework
-
bashew
- bash script creator - from small stand-alone script to complex projects with CI/CD and testing
-
bashful
- A collection of libraries to simplify writing Bash scripts
-
Bashlets
- A modular extensible toolbox for Bash
-
bashly - Bash command line framework and CLI generator
-
bashmanager
- mini bash framework for creating command line tools
-
bashwithnails
- a Bash framework written just for fun with testing, dependency management & packaging
-
bash-language-server
- LSP-based Bash language server
-
bash-modules
- functions for developing with unofficial strict mode enabled.
-
bats
- Bash Automated Testing System
-
composure
- Compose, document, version and organize your shell functions
-
crash
- Proper error handling, exceptions and try/catch for ZSH
-
critic.sh
- Dead simple testing framework for Bash with coverage reporting
-
dispatch
- A command line argument parser in 50 lines of portable shell script.
-
esh
- A simple templating engine based on shell, implemented in ~290 lines of POSIX shell and awk.
-
Fishtape
- TAP producer and test harness for fish
-
getoptions
- An elegant option parser for shell scripts (sh, bash and all POSIX shells)
-
getopts.fish
- CLI parser for fish
-
is.sh
- An alternative for builtin test command, it will make your “if” statements pretty
-
lumberjack
- A logging interface for shell scripts
-
mo
- Mustache templates in pure bash
-
optparse
- A BASH wrapper for getopts, for simple command line arguments.
-
rerun
- A modular shell automation framework to organize your keeper scripts
-
revolver
- A reusable progress spinner for shell scripts
-
phases
- Minimally invasive bash preprocessor, select sections of your script to run
-
powscript
- bash transpiler written in bash (coffeescript for bash)
-
semver_bash
- Semantic Versioning in Bash
-
sh-semver
- Semver tool for bash - finds versions matching to specified rules
-
shellcheck
- Static analysis tool for shell scripts
-
shellfire
- A repository of namespaced, composable shell (bash, sh and dash) function libraries
-
shellspec
- A full-featured BDD unit testing framework for dash, bash, ksh, zsh and all POSIX shells
-
shfmt
- A shell parser, formatter, and interpreter with bash support; includes shfmt
-
shpec
- A shell testing framework
-
shutit - Automation framework based on bash and pexpect
-
sub
- A delicious way to organize programs
-
ts
- A shell test script
-
urchin
- An idiomatic shell testing framework that uses only shell commands
-
shunit2
- A unit test framework for Bash scripts with a flavour of JUnit/PyUnit.
-
rebash
- Scripting library/framework. Features: imports, exceptions, doc-tests …
-
zunit
- A powerful unit testing framework for ZSH
Guides
Other Awesome Lists
Other amazingly awesome lists can be found in awesome-awesome
and awesome-awesomeness
.
See also