Skip to content

shellcheck's directive for shell is not working #1139

Open
@moonfruit

Description

@moonfruit

Code editor

Any

Platform

Any

Version

5.1.2

What steps will reproduce the bug?

bash-language-server makes shellcheck's directive for shell not working because of this:

const args = [
`--shell=${shellName}`,
'--format=json1',
'--external-sources',
...sourcePathsArgs,
...additionalArgs,
]

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.

What do you see instead?

shellcheck's directive for shell is not working.

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions