SC2112 – ShellCheck Wiki

See this page on GitHub


function keyword is non-standard. Delete it.

Problematic code:

function hello() {
  echo "Hello World"

Correct code:

hello() {
  echo "Hello World"


function is a non-standard keyword that can be used to declare functions in Bash and Ksh.

In POSIX sh and dash, a function is instead declared without the function keyword as in the correct example.



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