The sad news is that the
shellcheck binary does not really know how to deal with
% shellcheck script.zsh In script.zsh line 1: #!/bin/zsh ^-- SC1071: ShellCheck only supports sh/bash/dash/ksh scripts. Sorry!
You can force
shellcheck to interpret a
zsh script with the
% shellcheck --shell=bash dirlist.sh
This might show errors, such as
Quote to prevent word splitting/globbing which aren’t really errors in
zsh so its usefulness will be limited.
If you want a specific script to be always interpreted as a
bash script by
shellcheck you can also add this line:
# shellcheck shell=bash
in the script, right after the shebang line.
This can be useful if you use
bash emulation mode with
emulate -LR bash