{"id":14261903,"url":"https://github.com/xero/bash-bible","last_synced_at":"2025-05-05T15:33:04.379Z","repository":{"id":253273253,"uuid":"842986840","full_name":"xero/bash-bible","owner":"xero","description":"{reference,survival} guide to bash scripting 🐚📖","archived":false,"fork":false,"pushed_at":"2024-08-22T04:52:21.000Z","size":6085,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"gh-pages","last_synced_at":"2024-08-23T04:50:30.824Z","etag":null,"topics":["bash","bash-bible","bash-scripting","bible","guide","pure-bash","reference","shell","shell-scripting"],"latest_commit_sha":null,"homepage":"https://xero.github.io/bash-bible","language":"SCSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-15T14:35:33.000Z","updated_at":"2024-08-22T04:52:24.000Z","dependencies_parsed_at":"2024-08-19T04:54:38.020Z","dependency_job_id":null,"html_url":"https://github.com/xero/bash-bible","commit_stats":null,"previous_names":["xero/bash-bible"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xero%2Fbash-bible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xero%2Fbash-bible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xero%2Fbash-bible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xero%2Fbash-bible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xero","download_url":"https://codeload.github.com/xero/bash-bible/tar.gz/refs/heads/gh-pages","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224452763,"owners_count":17313668,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","bash-bible","bash-scripting","bible","guide","pure-bash","reference","shell","shell-scripting"],"created_at":"2024-08-22T13:01:27.680Z","updated_at":"2024-11-13T13:15:03.136Z","avatar_url":"https://github.com/xero.png","language":"SCSS","readme":"# Bash Bible 🐚📖\n`{reference,survival}` guide to scripting in the bash shell\n\n### Read\n\n* [https://xero.github.io/bash-bible](https://xero.github.io/bash-bible)\n* [raw github formatting](https://github.com/xero/bash-bible/blob/gh-pages/_pages/bible.md)\n\n## History\nThe original [Pure Bash Bible](https://github.com/dylanaraps/pure-bash-bible) 🪦 is sadly a defunt project. When citing it to novice bash scripting colleagues, I found they often lacked the necessary fundamental context to understand it. I wished the guide itself had more beginner level information, general reference materials, \u0026 maybe more flair ;D\n\nWhen the project `{author,maintainer}` [rage quit the internet](https://github.com/dylanaraps/dylanaraps/commit/811599cc564418e242f23a11082299323e7f62f8), I was worried he might delete the original repo. Instead of forking, I cloned and continued committing to the existing repo history to retain [credit to all the original authors](https://github.com/xero/bash-bible/graphs/contributors).\n\n## Hacking\nInstall with [bundle](https://bundler.io), then run [jekyll](https://jekyllrb.com) build\n\n```sh\nbundle install\nbundle exec jekyll build\n```\n\n### Files\n* site content: [./_pages/bible.md](_pages/bible.md)\n* theme css: [./_sass/bible.scss](_sass/bible.scss)\n* dom skeleton: [./_layouts/bible.html](_layouts/bible.html)\n* favicons \u0026 images: [./assets](assets)\n\n## Goals\n* Content ideas:\n    * Script setup (shebang, chmod +x, etc)\n    * Tools including [linters](https://github.com/koalaman/shellcheck), [formatters](https://github.com/mvdan/sh#shfmt), and [bash langugage server](https://github.com/bash-lsp/bash-language-server)\n    * Bestow the power of [BASHOPTS](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html)\n    * tests `[[ ]]`\n    * `echo` vs `printf`\n    * redirections `\u003e, \u003e\u003e, \u003c` and std`{out,in}`\n    * Immutable global variables `readonly`\n    * Scripting style formatting (expression breaks with `\\`)\n    * Closing File Descriptors\n```sh\nn\u003c\u0026- Close input file descriptor n.\n0\u003c\u0026- or \u003c\u0026- Close stdin.\n```\n* Combine the [pure sh bible](https://github.com/dylanaraps/pure-sh-bible) into this project:\n    * _the Bash Bible \u0026 Posix Psalms_\n\n## License\nThe original project was MIT, and I'm sticking with that.\n\nI've kept Dylan, added my name, and a link to the full contributors list.\n","funding_links":[],"categories":["bash"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxero%2Fbash-bible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxero%2Fbash-bible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxero%2Fbash-bible/lists"}