Vidar Holen's ShellCheck is an invaluable tool for troubleshooting shell scripts, and this package makes it easy to import into the testing pipeline of your PHP-based project!
This package contains a bin/shellcheck
script that serves as a proxy to the system-installed copy of ShellCheck; if the ShellCheck binary is found, arguments pass through to it normally. If ShellCheck is not found locally, users are presented with the following notice:
ShellCheck was not found in your $PATH! Please visit https://github.com/koalaman/shellcheck#installing for installation instructions.
Normally, this would result in a non-zero exit code (2), though this behavior may be suppressed with the --ignore-missing
option:
$ vendor/bin/shellcheck --ignore-missing some-script.sh
ShellCheck was not found in your $PATH!
Please visit https://github.com/koalaman/shellcheck#installing for installation instructions.
$ echo $?
0
The easiest way to install this package is via Composer:
$ composer require --dev assertwell/shellcheck
You may wish to add a Composer script to make it easier for team members to run ShellCheck:
# composer.json
{
// ...
"scripts": {
"test:shellcheck": [
"shellcheck bin/*"
]
},
"scripts-descriptions": [
"test:shellcheck": "Lint shell scripts via ShellCheck"
]
}
As for the installation of ShellCheck itself, please see the instructions most-relevant to your environment in the ShellCheck documentation.
The assertwell/shellcheck Composer package is available under the MIT license.
ShellCheck itself is the copyright of Vidar Holden and made available under the GPLv3 license.