This function is never invoked. Check usage (or ignored if invoked indirectly).
Problematic code:
#!/bin/sh
f() {
echo "Hello World"
}
exit
Correct code:
#!/bin/sh
f() {
echo "Hello World"
}
f
exit
Rationale:
ShellCheck found a function that goes out of scope before it's ever invoked. Verify that the function is called. It could be misspelled, or its invocation could also be unreachable (as in f() { ..; }; exit; f
).
Note that if the example script did not end in exit
, this warning would not be emitted. This is because the function could be invoked by another script that source
s it.
Exceptions:
ShellCheck is currently bad at figuring out functions that are invoked via trap
. In such cases, please ignore the message with a directive.
Related resources:
- Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!
-
Installation
-
Usage
-
Integrating and extending
Each individual ShellCheck warning has its own wiki page like SC1000. Use GitHub Wiki's "Pages" feature above to find a specific one, or see Checks.
<--- This is a global footer, please don't edit it. --->