SC2329 – ShellCheck Wiki

See this page on GitHub

Sitemap


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.


ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.