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