Repository: awesome-lists/awesome-bash Branch: master Commit: c638097f347c Files: 7 Total size: 26.4 KB Directory structure: gitextract_ri6n_otm/ ├── .editorconfig ├── .github/ │ └── pull_request_template.md ├── LICENSE ├── README.md ├── code-of-conduct.md ├── contributing.md └── hello.sh ================================================ FILE CONTENTS ================================================ ================================================ FILE: .editorconfig ================================================ root = true [*] indent_style = tab end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true [*.{md,yaml,yml}] indent_style = space indent_size = 2 [*.md] trim_trailing_whitespace = false ================================================ FILE: .github/pull_request_template.md ================================================ #### New App Submission - [ ] I've read the [contribution guidelines](https://github.com/awesome-lists/awesome-bash/blob/master/contributing.md). **Repo or homepage link:** **Description:** **Why I think it's awesome:** ================================================ FILE: LICENSE ================================================ Creative Commons Legal Code CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. Statement of Purpose The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. 1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; ii. moral rights retained by the original author(s) and/or performer(s); iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; v. rights protecting the extraction, dissemination, use and reuse of data in a Work; vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. 2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. 3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. 4. Limitations and Disclaimers. a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. ================================================ FILE: README.md ================================================ # Awesome Bash [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) > A curated list of delightful Bash scripts and resources. In addition to this list, you should read the list [awesome-shell](https://github.com/alebcay/awesome-shell). It is a curated list of awesome command-line frameworks, toolkits, guides and gizmos. You may also want to check [awesome-zsh](https://github.com/unixorn/awesome-zsh-plugins) or [awesome-fish](https://github.com/bucaran/awesome-fish). If you are looking for more lists, check [sindresorhus/awesome](https://github.com/sindresorhus/awesome). ## Contents - [Books and Resources](#books-and-resources) - [Command-Line Productivity](#command-line-productivity) - [Customization](#customization) - [Data](#data) - [For Developers](#for-developers) - [Downloading and Serving](#downloading-and-serving) - [Applications](#applications) - [Games](#games) - [Website](#website) - [Shell Package Management](#shell-package-management) - [Shell Script Development](#shell-script-development) - [Just for fun](#just-for-fun) - [Community](#community) - [Other Awesome Lists](#other-awesome-lists) - [Contribute](#contribute) - [License](#license) ## Books and Resources - [The Bash-Hackers Wiki](https://web.archive.org/web/20230406205817/https://wiki.bash-hackers.org/) - Human-readable documentation of any kind about GNU Bash. - [Bash beginner's mistakes](https://web.archive.org/web/20230330234404/https://wiki.bash-hackers.org/scripting/newbie_traps) - List of Bash beginner mistakes (by the Bash-Hackers Wiki). - [Bash Guide](http://mywiki.wooledge.org/BashGuide) - A bash guide for beginners (by Lhunath). - [Bash FAQ](http://mywiki.wooledge.org/BashFAQ) - Answers most of your questions (by Lhunath). - [Bash Pitfalls](http://mywiki.wooledge.org/BashPitfalls) - Lists the common pitfalls beginners fall into, and how to avoid them. - [Bash manual](http://www.gnu.org/software/bash/manual/) - Bourne-Again Shell manual. - [Bash FAQ](http://tiswww.case.edu/php/chet/bash/FAQ) (by [Chet Ramey](http://tiswww.case.edu/php/chet/)) - [Advanced Bash-Scripting Guide](http://tldp.org/LDP/abs/html/) - An in-depth exploration of the art of shell scripting. - [Bash Guide for Beginners](http://www.tldp.org/LDP/Bash-Beginners-Guide/html/) - Bash guide for beginners (by Machtelt Garrels). - [Bash Programming - Intro/How-to](http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html#toc) - [bash-handbook](https://github.com/denysdovhan/bash-handbook) - A handbook for those who want to learn Bash without diving in too deeply. - [Google's Shell Style Guide](https://google.github.io/styleguide/shellguide.html) - Reasonable advice about code style. - [Sobell's Book](http://www.sobell.com/CR3/index.html) - A practical guide to commands, editors, and shell programming. - [WikiBooks: Bash Shell Scripting](https://en.wikibooks.org/wiki/Bash_Shell_Scripting) - [Use the Unofficial Bash Strict Mode (Unless You Looove Debugging)](http://redsymbol.net/articles/unofficial-bash-strict-mode/) - [Defensive BASH Programming](https://web.archive.org/web/20180917174959/http://www.kfirlavi.com/blog/2012/11/14/defensive-bash-programming) - Methods to defend your programs from breaking as well as keeping the code tidy and clean. - [Pure Bash Bible](https://github.com/dylanaraps/pure-bash-bible) - A collection of pure bash alternatives to external processes. - [explainshell](https://explainshell.com) - A website that breaks down and explains shell (Bash) commands (including their flags and options). - [Safe ways to do things in bash](https://github.com/anordal/shellharden/blob/master/how_to_do_things_safely_in_bash.md) - How to do things safely in Bash. ## Command-Line Productivity *Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.* - [aliases](https://github.com/sebglazebrook/aliases) - Contextual, dynamic, organized aliases for the bash shell. - [bashhub-server](https://github.com/nicksherron/bashhub-server) - Privately hosted open source bashhub server. - [bashhub](https://github.com/rcaloras/bashhub-client) - Bash history in the cloud. Indexed and searchable :cloud:. - [bashmarks](https://github.com/huyng/bashmarks) - Directory bookmarks for the shell. - [bashmount](https://github.com/jamielinux/bashmount) - Easily manage removable media. - [ble.sh](https://github.com/akinomyoga/ble.sh) - User-friendly and feature rich readline replacement, with syntax highlighting, better command completion, and improved multi-line editing. - [commacd](https://github.com/shyiko/commacd) - A faster way to move around in Bash. - [forkrun](https://github.com/jkool702/forkrun) - A pure-bash tool for running code in parallel. Similar in syntax and speed to `xargs -P`, but with more features and native Bash function support. - [has](https://github.com/kdabir/has) - `has` helps you check presence of various command line tools and their versions on path. - [hstr](https://github.com/dvorka/hstr) - Bash History Suggest Box. - [sshrc](https://github.com/cdown/sshrc) - Bring your .bashrc, .vimrc, etc. with you when you SSH. - [utility-bash-scripts](https://github.com/aviaryan/utility-bash-scripts) - Useful bash scripts to do automatable tasks with a single command. - [zoxide](https://github.com/ajeetdsouza/zoxide) - A better way to navigate your filesystem. Written in Rust, cross-shell, and much faster than other autojumpers. ## Customization *Custom prompts, color themes, etc.* - [aphrodite-terminal-theme](https://github.com/win0err/aphrodite-terminal-theme) - Minimalistic theme (prompt) for sexy terminals. - [bash-git-prompt](https://github.com/magicmonty/bash-git-prompt) - An informative and fancy Bash prompt for Git users. - [bash-powerline](https://github.com/riobard/bash-powerline) - Powerline-style Bash prompt in pure Bash script. - [bashstrap](https://github.com/barryclark/bashstrap) - A quick way to spruce up macOS terminal. - [git-prompt](https://github.com/lvv/git-prompt) - Bash prompt with Git, SVN and HG modules. - [gittify](https://github.com/momeni/gittify) - A colorful Bash prompt + customized Git aliases. - [liquidprompt](https://github.com/nojhan/liquidprompt) - A full-featured & carefully designed adaptive prompt for Bash & Zsh. - [LS_COLORS](https://github.com/trapd00r/LS_COLORS) - A collection of LS_COLORS definitions. - [oh-my-git](https://github.com/arialdomartini/oh-my-git) - An opinionated git prompt for bash and zsh. - [oh-my-bash](https://github.com/ohmybash/oh-my-bash) - A delightful community-driven framework for managing your bash configuration. - [progress-bar.sh](https://github.com/edouard-lopez/progress-bar.sh) - Simple & sexy progressbar for `bash`, give it a duration and it will do the rest. - [sexy-bash-prompt](https://github.com/twolfson/sexy-bash-prompt) - Bash prompt with colors, Git statuses, and Git branches. - [bash-sensible](https://github.com/mrzool/bash-sensible) - An attempt at saner Bash defaults. ## For Developers *Command-line development, version control, and deployment.* - [bocker](https://github.com/p8952/bocker) - Docker implemented in 100 lines of bash. - [git-sh](https://github.com/rtomayko/git-sh) - A customized Bash environment suitable for Git work. - [mkdkr](https://github.com/rosineygp/mkdkr) - Make + Docker + Shell = CI Pipeline. ## Downloading and Serving *Self-hosted, lightweight servers and networking tools written in shell scripts.* - [Bash-web-server](https://github.com/dzove855/Bash-web-server) - A purely bash web server, no socat, netcat, etc. - [Dropbox-Uploader](https://github.com/andreafabrizi/Dropbox-Uploader) - Dropbox Uploader is a Bash script which can be used to upload, download, list or delete files from Dropbox. - [balls](https://github.com/jneen/balls) - Bash on Balls. - [bashbro](https://github.com/victrixsoft/bashbro/) - A Bash-based web file browser - allowing you to remotely browse, stream, view documents and save files via your web browser. - [bash-stack](https://github.com/cgsdev0/bash-stack) - Modern web framework in bash. - [bashttpd](https://github.com/avleen/bashttpd) - A web server written in Bash. - [httpd.sh](https://github.com/cemeyer/httpd.sh) - A trivial web server in bash, using ctypes.sh. - [ngincat](https://github.com/jaburns/ngincat) - Tiny Bash HTTP server using netcat. - [sherver](https://github.com/remileduc/sherver) - Pure Bash lightweight web server. - [xiringuito](https://github.com/ivanilves/xiringuito) - SSH-based VPN for poors. ## Applications *Command line-based applications or command line access to existing services.* - [bashblog](https://github.com/cfenollosa/bashblog) - A Bash script that handles blog posting. - [pushbullet-bash](https://github.com/Red5d/pushbullet-bash) - Bash interface to the PushBullet API. - [todo.sh](https://github.com/todotxt/todo.txt-cli) - A simple and extensible shell script for managing your todo.txt file. - [cheapci](https://github.com/ianmiell/cheapci) - A continuous integration framework implemented in bash. ## Games *All work and no play is a cruddy way to spend your day.* - [bash2048](https://github.com/mydzor/bash2048) - Bash implementation of 2048 game. - [minesweeper](https://github.com/feherke/Bash-script/tree/master/minesweeper) - Bash implementation of minesweeper. - [wordle](https://gist.github.com/huytd/6a1a6a7b34a0d0abcac00b47e3d01513) - Wordle in less than 50 lines of Bash. ## Website - [Bash One-Liners](http://www.bashoneliners.com/) - A collection of practical or just pure awesome bash one-liners ([repos](https://github.com/janosgyerik/bashoneliners) by @[janosgyerik](https://github.com/janosgyerik)). - [commandlinefu](http://www.commandlinefu.com/) - A repository for the most elegant and useful UNIX commands. ## Shell Package Management *Tools for managing multiple shell configurations.* - [bash-it](https://github.com/Bash-it/bash-it) - A community Bash framework. - [basher](https://github.com/basherpm/basher) - A package manager for shell scripts. - [bpkg](https://github.com/bpkg/bpkg) - A lightweight bash package manager. - [homeshick](https://github.com/andsens/homeshick) - Git dotfile synchronizer written in Bash. ## Shell Script Development *Tools for writing, improving, or organizing Bash or other shell scripts* - [ansi](https://github.com/fidian/ansi) - ANSI escape codes in pure bash - change text color, position the cursor, much more. - [argbash](https://github.com/matejak/argbash) - Bash argument parsing code generator. - [assert.sh](https://github.com/lehmannro/assert.sh) - Bash unit testing framework. - [async-bash](https://github.com/zombieleet/async-bash) - Implementation of async functions in bash. - [bats](https://github.com/bats-core/bats-core) - Bash Automated Testing System. - [bash3boilerplate](https://github.com/kvz/bash3boilerplate) - Templates to write better Bash scripts. - [bashful](https://github.com/jmcantrell/bashful) - A collection of libraries to simplify writing Bash scripts. - [bashify](https://github.com/zombieleet/bashify) - Few helper functions in bash (especially string manipulation functions). - [bashing](https://github.com/xsc/bashing) - Smashing Bash into Pieces - Bash framework for creating command line tools. - [bashly](https://github.com/DannyBen/bashly) - Bash command line framework and CLI generator. - [bashmanager](https://github.com/lingtalfi/bashmanager) - Mini bash framework for creating command line tools. - [Bashmatic](https://github.com/kigster/bashmatic) - An easy to use DSL library for building BASH-based tooling & installers (900+ functions). - [bunit](https://github.com/rafritts/bunit) - A unit testing framework for Bash scripts. - [Bash Infinity](https://github.com/niieani/bash-oo-framework) - A modern boilerplate / framework / standard library for bash. - [bash-modules](https://github.com/vlisivka/bash-modules) - A collection of modules for unofficial strict mode. - [bash_unit](https://github.com/pgrange/bash_unit) - Bash unit testing enterprise edition framework for professionals. - [bashunit](https://github.com/TypedDevs/bashunit) - A simple testing library for bash scripts. - [lobash](https://github.com/adoyle-h/lobash) - A modern, safe, powerful utility/library for Bash script development. - [mo](https://github.com/tests-always-included/mo) - Mustache templates in pure bash. - [semver_bash](https://github.com/cloudflare/semver_bash) - Semantic Versioning in Bash. - [shellcheck](https://github.com/koalaman/shellcheck) - A static analysis tool for shell scripts. - [shellharden](https://github.com/anordal/shellharden) - The corrective bash syntax highlighter. - [shfmt](https://github.com/mvdan/sh) - Format bash programs. - [shunit2](https://github.com/kward/shunit2) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit. - [DevOps-Bash-tools](https://github.com/HariSekhon/DevOps-Bash-tools) - 750+ DevOps Shell Scripts and Advanced Bash environment. - [modernish](https://github.com/modernish/modernish) - Library with various features for shell scripting. - [json.bash](https://github.com/h4l/json.bash) - Bash library and command-line tool that creates JSON. - [timep](https://github.com/jkool702/timep) - A next-gen profiler and FlameGraph generator for bash code. ## Just for fun - [Bash Screensavers](https://github.com/attogram/bash-screensavers?) - A collection of screensavers written entirely in bash. - [pokeget](https://github.com/talwat/pokeget) - Displays sprites of pokemon in the terminal. ## Community - [Stack Overflow](http://stackoverflow.com/questions/tagged/bash) - Bash tag on Stack Overflow. - [/r/bash](https://www.reddit.com/r/bash) - A subreddit dedicated to bash scripting. - [/r/commandline](https://www.reddit.com/r/commandline) - For anything regarding the command line, in any operating system. - [#bash](https://web.libera.chat/?nick=Guest&#bash) - IRC channel on Libera.​Chat. The main contributors of the BashGuide, BashFAQ, BashPitfalls and ShellCheck hang around there. ## Other Awesome Lists Other amazingly awesome lists can be found in [awesome-awesome](https://github.com/emijrp/awesome-awesome) and [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness). ## Contribute Contributions welcome! Read the [contribution guidelines](contributing.md) first. ## License [![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/) To the extent possible under law, aloisdg has waived all copyright and related or neighboring rights to this work. ================================================ FILE: code-of-conduct.md ================================================ # Contributor Code of Conduct As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality. Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery * Personal attacks * Trolling or insulting/derogatory comments * Public or private harassment * Publishing other's private information, such as physical or electronic addresses, without explicit permission * Other unethical or unprofessional conduct Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team. This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting a project maintainer at aloisdegouvello@live.fr. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. Maintainers are obligated to maintain confidentiality with regard to the reporter of an incident. This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.3.0, available at [http://contributor-covenant.org/version/1/3/0/][version] [homepage]: http://contributor-covenant.org [version]: http://contributor-covenant.org/version/1/3/0/ ================================================ FILE: contributing.md ================================================ # Contribution Guidelines Contributions are welcome! Note that this project has a [Contributor Code of Conduct](./code-of-conduct.md); by participating in this project, you agree to abide by its terms. --- ## New Links Any and all suggestions are appreciated! Please note that suggestions are _not guaranteed to be added_. Not everything will be considered for inclusion. It is recommended to conform to the recommendations as laid out below. It is highly recommended to meet the following requirements. - Source code resources must: - Be older than 90 days - Have more than 50 stars - Non-source code resources must: - Include at least 1 link (in the PR) to positive discussions that indicates the resource has a strong, positive community backing. For example, a [Reddit](https://reddit.com/), [Hacker News](https://news.ycombinator.com/), or [Lobster](https://lobste.rs/) post If the resource links to source code, it is recommended for it to: - Do one thing and do it well - Have a free and open source software license - Be easy to install - Be well documented - Have a decently active community and engaged ownership - Use Bash directly (general CLI tools should go in a different Awesome List) ## Pull Requests #### Ground Rules - No duplicate links - _Create a pull request for each individual suggestion_ #### Formatting & Style - The pull request must be titled: `Add ITEM_NAME` - Use the following format: `[ITEM_NAME](LINK) - DESCRIPTION.` - Description starts with a capital and ends with a full stop (period) - Try to keep it short and concise - No trailing whitespace - Check your spelling and grammar - The item is added at the bottom (or alphabetical) of the relevant category ### Other Pull Requests Pull requests that introduce new categories or improve the README are always welcome! In that case, feel free to disregard the given structure above. ### Updating your PR A lot of times, making a PR adhere to the standards above can be difficult. If the maintainers notice anything that we'd like changed, we'll ask you to edit your PR before we merge it. There's no need to open a new PR, just edit the existing one. If you're not sure how to do that, [here is a guide](https://github.com/RichardLitt/knowledge/blob/master/github/amending-a-commit-guide.md) on the different ways you can update your PR so that we can merge it. ================================================ FILE: hello.sh ================================================ #!/bin/bash echo "hello"