Text, samples and references for my 'Effective Shell' series. This website is hosted at effective-shell.com.
If you find this book useful, please do consider sponsoring me to help support my open-source work!
- Installing the Samples
- The Website
- Custom Components
- Copyright & Licensing
- ASCII Terminal Recordings
- Contributors ✨
This repository contains all of the content for the Effective Shell online book.
Installing the Samples
You can install the samples into your
~/effective-shell folder with this command:
curl effective.sh | sh
Or can also manually download them using from any of these locations:
The one-line shell installer is hosted at github.com/dwmkerr/effective-shell-installer
This section contains information on how to built, use and edit the site. To help you quickly edit the site, some tips are below:
Building the Website
To setup dependencies, run:
To test that TypeScript types compile, run:
To serve the site locally, run:
To build the site, run:
The built site is generated at
Note that the
samples folder is automatically zipped up and added to the website, meaning it can be downloaded directly from:
Custom Components to support styling are available at:
There is a live view that can be used to preview each component:
Components can be added to global scope, i.e. available in call pages, by adding to the
MDXComponents.js swizzled file:
The version of the site and the code is defined in the
If you need to manually trigger a release, run:
git commit --allow-empty -m "chore: release 2.0.0" -m "Release-As: 2.0.0"
Please carefully read the Contributing Guide before working on changes.
Copyright & Licensing
All content is Copyright (©) Dave Kerr. Please get in touch by opening an issue if you have questions on copyright or licensing.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
ASCII Terminal Recordings
All terminal recordings used in this project are built using the superb 'asciinema' tool. Many thanks to Marcin Kulik for building such an excellent piece of software.
Thanks to the following people who have helped with reviews, comments, suggestions.
- Andrew Bestbier, Thomas Neumann, Tam Nguyen, Rahul Maliakkal, Peter Mondlock, Samantha Baldwin, Niklas Schmuecker for the proofing, comments and suggestions
- Ogus Ismail for helping me understand some of the nuances of word splitting and filename expansion
- Josh Timmons for proof-reading and suggesting structural improvements as well as grammar and spelling fixes
- Joel Schwarzmann for proofing and adding content on the Python code in the 'How to avoid shell scripting' chapter
- Xiaoyou "Elsie" Jiang for proof-reading and improvements to Chapter 30
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!