stank
stank copied to clipboard
stank: analyzers for determining whether files smell like rotten POSIX shell scripts, or faintly rosy like Ruby and Python scripts
No other linter appears to do this, resulting in a proliferation of Works On My Machine busted scripts from devs who don't know better. funk: * Encourage `#!/bin/` for shell...
For shell interpreters that support it, encourage the `set -o pipefail` option, in order to catch more subtle control flow problems earlier in development.
The fools have produced no fewer than three distinct command line programs called "bosh." Two are not command line shell interpreters.
* [ ] busybox * [ ] hush
https://www.barebox.org/doc/latest/user/hush.html
Warn on OS-specific commands, such as invoking package managers, e.g. pacman. Recommend to either suffix the filename to include the OS name, e.g. Arch. Or else replace the command with...
E.g., Ansible playbooks
https://pubs.opengroup.org/onlinepubs/009695399/utilities/set.html
https://wiki.archlinux.org/index.php/Command-line_shell
E.g., non-en-US, a common default interpreter encoding. Or even warn on non-ASCII content. Best to offer blocklists, allowlists for customization.