Skip to content
Vidar Holen edited this page May 4, 2024 · 1 revision

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 sources 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!

ShellCheck

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.

Clone this wiki locally