From 42e122d5238fb802b645f2ce344bd1107c4476c4 Mon Sep 17 00:00:00 2001 From: Nathaniel Landau Date: Tue, 26 May 2015 21:49:17 -0400 Subject: [PATCH] continued text changes --- README.md | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 36cb011..32951af 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is the centralized repository of all the shell scripts which I use for a nu ## What's here * **etc/** - Many of my scripts and shared functions call for configuration files. These configs are saved here. -* **lib/** - Shared functions and libraries that are used throughout the scripts. +* **lib/** - Shared functions and libraries that are used throughout the scripts. Note all my scripts require these files and will break if they can not be found. * **setupScripts/** - Scripts that configure new Mac computers from scratch. These scripts perform such tasks as: * Insalling [Homebrew][1] & associated packages * Installing mac applications using [Homebrew Cask][2] @@ -15,9 +15,7 @@ This is the centralized repository of all the shell scripts which I use for a nu * Installing [RVM][4] and associated Gems * Pushing a new SSH key to Github * **syncScripts/** - Scripts which use [RSYNC][5] and [Unison][6] to keep different directories and computers in sync. - -## Usage -Each of the directories has its own `README` describing in more depth how to use the files contained within. Most of the scripts here won't work without the scripting utilities in `lib/`. +* **scriptTemplate.sh** - A bash script boilerplate template. ## Versioning @@ -38,6 +36,25 @@ For more information on SemVer, please visit [SemVer][7]. ## A Note on Code Reuse The scripts herein were created by me over many years without ever having the intention to make them public. As a novice programmer, I have Googled, GitHubbed, and StackExchanged a path to solve my own scripting needs. Quite often I would lift a function whole-cloth from a GitHub repo and not keep track of it's original location. I have done my best within the scripts to recreate my footsteps and give credit to the original creators of the code when possible. Unfortunately, I fear that I missed as many as I found. My goal of making these scripts public is not to take credit for the wonderful code written by others. If you recognize or wrote something here that I didn't credit, please let me know. +# scriptTemplate.sh +This is a bash script boilerplate template that I use to create all my scripts. It takes care of a number of items for you including: + +* Sourcing associated libraries and functions +* Gracefully trapping exits +* Creating and cleaning up temporary directories +* Writing logs +* Checking for dependecies (i.e. - ffmpeg or rsync) +* Passing options from the command line +* Printing usage information when '-h' is passed + +## Usage +To use the bash boilerplate for your own script follow these steps. + +1. Make a copy of `scriptTemplate.sh`. +2. Ensure that the new script can find the utilities located in `lib/utils.sh` by updating the path of variable `utilsLocation` near the top. +3. Ensure your script is executable (i.e. - run `chmod a+x scriptname`) +4. Add your script within the function titled `mainScript` + [1]: http://brew.sh [2]: http://caskroom.io [3]: https://github.com/lra/mackup