Coder Social home page Coder Social logo

alebcay / awesome-shell Goto Github PK

View Code? Open in Web Editor NEW
31.1K 770.0 2.3K 721 KB

A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php.

License: Creative Commons Zero v1.0 Universal

awesome-list awesome list zsh fish bash cli shell

awesome-shell's Introduction

 █████╗ ██╗    ██╗███████╗███████╗ ██████╗ ███╗   ███╗███████╗
██╔══██╗██║    ██║██╔════╝██╔════╝██╔═══██╗████╗ ████║██╔════╝
███████║██║ █╗ ██║█████╗  ███████╗██║   ██║██╔████╔██║█████╗
██╔══██║██║███╗██║██╔══╝  ╚════██║██║   ██║██║╚██╔╝██║██╔══╝
██║  ██║╚███╔███╔╝███████╗███████║╚██████╔╝██║ ╚═╝ ██║███████╗
╚═╝  ╚═╝ ╚══╝╚══╝ ╚══════╝╚══════╝ ╚═════╝ ╚═╝     ╚═╝╚══════╝
███████╗██╗  ██╗███████╗██╗     ██╗
██╔════╝██║  ██║██╔════╝██║     ██║
███████╗███████║█████╗  ██║     ██║
╚════██║██╔══██║██╔══╝  ██║     ██║
███████║██║  ██║███████╗███████╗███████╗
╚══════╝╚═╝  ╚═╝╚══════╝╚══════╝╚══════╝

Awesome Shell Awesome

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 - ☁️ 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 - 💡 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 - 🐛 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 - 🚀 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 - 🚄 An oh-my-zsh shell theme based on the Powerline Vim plugin
  • emojify Emoji on the command line 😱
  • 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

Multimedia and File Formats

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 - ⛅ 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

awesome-shell's People

Contributors

agkozak avatar agsdot avatar alebcay avatar alichtman avatar babarot avatar codemunchies avatar dborzov avatar dogoncouch avatar eigengrau avatar ferenc- avatar iridakos avatar jarun avatar jlevy avatar jonatan-ivanov avatar lingtalfi avatar myfavouritekk avatar nogizhopaboroda avatar pindexis avatar rafaelrinaldi avatar rakibfiha avatar readmecritic avatar sakshamsharma avatar shyiko avatar srijanshetty avatar tanrax avatar unixorn avatar vaniacer avatar vitorgalvao avatar webdev4422 avatar xuxiaodong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-shell's Issues

Path modification bash shell script

Not sure if I'm in the right place but I made a small bash alias wrapper script which I thought might be useful to other people. It can be used to easily list, remove, move and add paths to the PATH and PYTHONPATH environmental variables. Feel free to add it to the list if you consider it useful https://github.com/rickstaa/.pathmod. I am planning to add support for other shells in the future. Contributions are always welcome.

Help Examples

I remember seeing a command somewhere on HackerNews as an alternative to man that shows you common examples of how the command is used. I can't find it though and was hoping it would be on here.

Membership requirements/procedures

Hi

I am writing extensions/functions that integrate REST providers into the bash shell. I would like to join or get listed but I am not sure about the exact way to do it. Please advise

My documentation is available here

Oskar

[NEW] (`Web Browser`) `carbonyl`

  • SOURCE DESCRIPTION: Chromium running inside your terminal
  • CATEGORY(S): [
      GUI-in-TUI
      How-The-Fuck-Does-This-Works?!
      Web Browser
      Chromium
      Terminal
    ]
  • SOURCE (GitHub): fathyb/carbonyl
  • AUTHOR: Fathy Boundjadj (@fathyb)
  • AUTHOR's WEBSITE: fathy.fr

Note
Like browsh but instead of using separate headless FireFox it is modified Chromium

Wick - Bash IT Configuration Automation

I'm maintaining a Bash-only alternative to Vagrant / Ansible / cdist / Puppet. It's called Wick. It doesn't provision the machines (yet) but if you rsync a folder then you can run a shell command that will provision a machine for you.

I'd be interested in getting your feedback and possibly having it included here. I know that I'll be researching many of the links you have and might split Wick up into modules so others can benefit from my functions more easily. Thanks for making your list; I am finding it very useful.

I've also made other Bash-only tools such as mo (mustache templates written in only Bash) and ansi for ANSI escape sequences such as color codes and cursor control. I don't know if those would be of interest, but they seem to fit your collection of tools.

Add git-extras?

I was wondering if it would be appropriate to add a link to git-extras. Its a fantastic way to extend ones git environment.

I saw that git-sh is already listed below. I was wondering if I could add git-extras to the list near it?

Thanks!

How about mentioning libguestfs tools?

I find it very useful to manipulate with various filesystem images by using libguestfs tools. Maybe it could be useful to mention this cool tools in this list :)

add `nb`

CLI and local web plain text note‑taking, bookmarking, and archiving with linking, tagging, filtering, search, Git versioning & syncing, Pandoc conversion, + more in a single portable script.

https://github.com/xwmx/nb

Add CliFM

CliFM is a file manager with a unique approach: unlike most file managers, based on some kind of TUI, CliFM is entirely based on the command line.

Latest Pull Requests are failing Travis/CI

Hi @alebcay

The latest pull requests are failing in travis-ci. Some of links have moved or disappeared.

It was not clear from your guidelines how you prefer these to be fixed:

  • You'll fix these
  • Fix them in our pull requests
  • Create a separate request to fix

Don't link to tldp.org for bash advice

shamelessly copy-pasted from exercism/bash/issues/171

tldp.org's shell scripting pages have very high Google page rank. They're detailed, extensive, and easy to read, and much of the information in there is useful. But the examples they use are very often riddled with code that runs between smelly and bug-prone to outright dead wrong and dangerous. An advanced bash scripter could maybe read through tldp and filter out the bad stuff, but pointing newbies there is a bad thing indeed because they will learn lots of bash anti-patterns.

The tldp bash pages are too expansive to make a detailed review of everything that's wrong with them, and I'm not the most qualified person in the world to do so anyway. But this reddit post by @geirha is as good a spot as any to start getting an idea of what I'm talking about.

Instead, consider linking only to these:

  • Greg's wiki: Bash Guide and Bash FAQ would be the starting point, and imho it wouldn't be bad to throw in an explicit link to Bash pitfalls too.
  • GNU Bash manual many GNU manuals are hidden treasures and in the case of bash, their manual is vastly more accurate than the sites with pagerank (like tldp.org).
  • Bash-hackers wiki This is prominently linked in the topic of the #bash IRC channel on freenode. Personally I don't think it's as useful overall as the links above, but it's still way better than tldp.

AwesomeOpenSource

We are creating a github org for all awesome open source repos. I am working with a few individuals who are also managing their own awesome repos, and I think to gain more traction we need to work together. What are your thoughts about collectively moving your awesome repos to https://github.com/AwesomeOpenSource

The idea is that visibility for these repos would be increased due to more traffic to the org. What are your thoughts? Let me know if there is anything you'd like to discuss!

Fix awesome-fish url

The awesome fish url https://github.com/JorgeBucaran/awesome-fish redirects to https://github.com/fisherman/awesome-fish-shell breaking all new builds from PRs.

Note: brewing PR to fix this.

Add SQLite3

I surprised that such powerful tool isn't here, so my proposal is to add sqlite3

Add "up" (ultimate plumber)

up (ultimate plumber) is a tool which i recently discovered. It lets you easily write pipes by using a preview after pressing enter. Saves me lots of arrow-up pressing!

https://github.com/akavel/up

Be sure to check their github page for a gif explaining how it works.

This is abandoned, add maintainers

This repo is clearly abandoned, not necessarily on purpose, I know people are busy. Due to the amount of stars, it should survive and thrive. A lot of the people, including myself who are passionate about shell, who have left PRs could probably help out. My only PR is failing not due to any issues with it, but because there are broken links in the existing repo that are causing it to fail.

Add "bmon"

I have used bmon to track my network bandwidth, great tool

lhttps://www.tecmint.com/bmon-network-bandwidth-monitoring-debugging-linux

Improvement suggestion

Hi. Thanks for your list of shell utilities.
I'm about one thing that can improve this list as a bonus. I've thought it trought and solved that many people want to install most of this utilities at the same time. May be install everything, may be install special tools, but from one source. So, I've made a simple script which solves this question. You can take a look at my GitHub repo.
What's the point? Just hope that's would be great to place a link on this repo and attract someone else to modify this and append new features. But actually I've no idea where it could be placed, cause it's different and not similar to any subheader at list.
The question: is it useful? And, if yes, at what place could I insert this in list?

I made a duplicate by mistake

Hello,

I looked for an awesome-bash. I couldn't find one so I made one.
You can see it here. I looked for scripts and found yours.

Now, we can do two things. I can create a PR with my links or you can switch your bash specific links in mine. If we choose the second one, you are going to be the awesome-list for every kind of shell (as your name suggest).

What do you think?

Validate pull requests with Travis

Hello, I wrote a tool that can validate README links (valid URLs, not duplicate). It can be run when someone submits a pull request.

It is currently being used by

Examples

If you are interested, connect this repo to https://travis-ci.org/ and add a .travis.yml file to the project.

See https://github.com/dkhamsing/awesome_bot for options, more information
Feel free to leave a comment 😄

Simple http server

python3 -m http.server <port> and python2 -m SimpleHTTPServer <port> launches a simple http server in the current directory.

add "moreutils" packages such as ts; combine; pee; vidir; and vipe

I'm curious why in the list there is no package that is listed on the "moreutils" package (except "parallel"). Is there a reason particularly?

They all are great command lines tools. But personally I would suggest these amazing commands:

ts: timestamp standard input

e.g. for i in {1..5}; do echo y$i; sleep 1; done | ts '%FT%T'

combine: combine the lines in two files using boolean operations

e.g. combine file01.txt and file02.txt

pee: tee standard input to pipes

e.g. echo hoge | pee cat cat cat

vipe: insert a text editor into a pipe

e.g. echo hoge | vipe | cat

Add td-cli

td-cli

Link

https://github.com/darrikonn/td-cli

Description

td-cli is a command line todo manager,
where you can organise and manage your todos across multiple projects

Why?

td-cli allows you to group your todos based on your projects and helps you keep your todos well organised and well structured.
td-cli also has an awesome interactive mode which speeds up the whole process!

How to install

pip3 install td-cli

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.