Reasons include: file not found, no permissions, not included on the command line, not allowing shellcheck
to follow files with -x
, etc.
source somefile
In case you have access to the file, e.g. if it is included in your source code repository:
# shellcheck source=somefile
source somefile
In case you do not have access to the file:
# shellcheck source=/dev/null
source somefile
ShellCheck, for whichever reason, is not able to access the source file.
This could be because:
shellcheck -x
(or specified external-sources=true
in the .shellcheckrc) to allow following other filesFeel free to ignore the error with a directive.
ShellCheck is unable to follow dynamic paths, such as source "$somedir/file"
. For these cases, see [[SC1090: Can't follow non-constant source. Use a directive to specify location|SC1090]] instead. You may be seeing SC1091 because ShellCheck tried to be helpful and strip a leading dynamic path element as described on that page.
If you're fine with it, ignore the message with a directive.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.