Shell Function


Declaration

A function is declared like:

myfunction() {
  :
}

A function's name must match [a-zA-Z_][a-zA-Z0-9_]*.


Usage

The above function would be called like:

myfunction "first argument" "second argument"

Arguments

Arguments passed to a function implicitly overwrite the positional variables 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

By default 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 with a specified exit code.

isdirectory() {
  if [ -d "$1" ]; then
    return 0
  else
    return 1
  fi
}

if isdirectory "$some_directory"; then
  :
fi


CategoryRicottone

Shell/Function (last edited 2023-01-30 02:01:58 by DominicRicottone)