Bash Function


Declaration

A function is declared with one of:

myfunction() {
  :
}

function myfunction() {
  :
}

If the function keyword is used, the parentheses are optional.


Usage

The above functions would be called like:

myfunction "first argument" "second argument"

Arguments

Arguments passed to a function implicitly overwrite the positional variables ($1, $2, and so on) as well as the argument count variable ($#). All of these will be reset to the original values upon the function's return.

Note that $0 is not overwritten.

Error and Return Codes

A function does not set the exit code. But it also does not clear the code. The final command in a function effectively sets the error code for the function as well.

The return builtin causes the function to return immediately.


CategoryRicottone