1180d61152
The first warning of a misspelling is a false positive, so we annotate the script accordingly. As for the x-prefix warnings update the check to use the conventional '[ -z <string> ]' syntax. all-syslog.sh:46:47: warning: Possible misspelling: ZEVENT_ZIO_OBJECT may not be assigned, but ZEVENT_ZIO_OBJSET is. [SC2153] make_gitrev.sh:53:6: note: Avoid x-prefix in comparisons as it no longer serves a purpose [SC2268] man-dates.sh:10:7: note: Avoid x-prefix in comparisons as it no longer serves a purpose [SC2268] Reviewed-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #12208 |
||
---|---|---|
.. | ||
.gitignore | ||
Makefile.am | ||
README | ||
all-debug.sh | ||
all-syslog.sh | ||
data-notify.sh | ||
generic-notify.sh | ||
history_event-zfs-list-cacher.sh.in | ||
pool_import-led.sh | ||
resilver_finish-notify.sh | ||
resilver_finish-start-scrub.sh | ||
scrub_finish-notify.sh | ||
statechange-led.sh | ||
statechange-notify.sh | ||
trim_finish-notify.sh | ||
vdev_attach-led.sh | ||
vdev_clear-led.sh | ||
zed-functions.sh | ||
zed.rc |
README
Shell scripts are the recommended choice for ZEDLETs that mostly call other utilities and do relatively little data manipulation. Shell scripts MUST work on both bash and dash. Shell scripts MUST run cleanly through ShellCheck: http://www.shellcheck.net/ General functions reside in "zed-functions.sh". Use them where applicable. Additional references that may be of use: Google Shell Style Guide https://github.com/google/styleguide/blob/gh-pages/shell.xml Dash as /bin/sh https://wiki.ubuntu.com/DashAsBinSh Common shell script mistakes http://www.pixelbeat.org/programming/shell_script_mistakes.html Filenames and Pathnames in Shell: How to do it Correctly http://www.dwheeler.com/essays/filenames-in-shell.html Autoconf: Portable Shell Programming https://www.gnu.org/software/autoconf/manual/autoconf.html#Portable-Shell Please BE CONSISTENT with the existing style, check for errors, minimize dependencies where possible, try to be portable, and comment anything non-obvious. Festina lente.