3 SC2112
Joachim Ansorg edited this page 2021-11-12 19:34:28 +01:00

function keyword is non-standard. Delete it.

Problematic code:

#!/bin/sh
function hello() {
  echo "Hello World"
}

Correct code:

#!/bin/sh
hello() {
  echo "Hello World"
}

Rationale:

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.

Exceptions:

None.

  • Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!