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