1*eda14cbcSMatt MacyShell scripts are the recommended choice for ZEDLETs that mostly call 2*eda14cbcSMatt Macyother utilities and do relatively little data manipulation. 3*eda14cbcSMatt Macy 4*eda14cbcSMatt MacyShell scripts MUST work on both bash and dash. 5*eda14cbcSMatt Macy 6*eda14cbcSMatt MacyShell scripts MUST run cleanly through ShellCheck: 7*eda14cbcSMatt Macy http://www.shellcheck.net/ 8*eda14cbcSMatt Macy 9*eda14cbcSMatt MacyGeneral functions reside in "zed-functions.sh". Use them where applicable. 10*eda14cbcSMatt Macy 11*eda14cbcSMatt MacyAdditional references that may be of use: 12*eda14cbcSMatt Macy 13*eda14cbcSMatt Macy Google Shell Style Guide 14*eda14cbcSMatt Macy https://github.com/google/styleguide/blob/gh-pages/shell.xml 15*eda14cbcSMatt Macy 16*eda14cbcSMatt Macy Dash as /bin/sh 17*eda14cbcSMatt Macy https://wiki.ubuntu.com/DashAsBinSh 18*eda14cbcSMatt Macy 19*eda14cbcSMatt Macy Common shell script mistakes 20*eda14cbcSMatt Macy http://www.pixelbeat.org/programming/shell_script_mistakes.html 21*eda14cbcSMatt Macy 22*eda14cbcSMatt Macy Filenames and Pathnames in Shell: How to do it Correctly 23*eda14cbcSMatt Macy http://www.dwheeler.com/essays/filenames-in-shell.html 24*eda14cbcSMatt Macy 25*eda14cbcSMatt Macy Autoconf: Portable Shell Programming 26*eda14cbcSMatt Macy https://www.gnu.org/software/autoconf/manual/autoconf.html#Portable-Shell 27*eda14cbcSMatt Macy 28*eda14cbcSMatt MacyPlease BE CONSISTENT with the existing style, check for errors, 29*eda14cbcSMatt Macyminimize dependencies where possible, try to be portable, 30*eda14cbcSMatt Macyand comment anything non-obvious. Festina lente. 31