For example, shellcheck will not report any errors for this script:
#!/bin/sh
# shellcheck shell=bash
echo -e "test"
But shellcheck --shell test.sh will produce:
$ shellcheck --shell sh test.sh
In test.sh line 3:
echo -e "test"
^-- SC3037 (warning): In POSIX sh, echo flags are undefined.
For more information:
https://www.shellcheck.net/wiki/SC3037 -- In POSIX sh, echo flags are undef...
How often does it reproduce? Is there a required condition?
Every time.
What is the expected behavior?
shellcheck's directive for shell will work fine, whether it's defined in .shellcheckrc or in a script.
Code editor
Any
Platform
Any
Version
5.1.2
What steps will reproduce the bug?
bash-language-server
makesshellcheck
's directive for shell not working because of this:https://github.com/bash-lsp/bash-language-server/blob/39abef9fab6172676c5b8d53b7de30aaa2f3c576/server/src/shellcheck/index.ts#L122-L128
For example,
shellcheck
will not report any errors for this script:But
shellcheck --shell test.sh
will produce:How often does it reproduce? Is there a required condition?
Every time.
What is the expected behavior?
shellcheck
's directive for shell will work fine, whether it's defined in.shellcheckrc
or in a script.What do you see instead?
shellcheck
's directive for shell is not working.Additional information
No response