Functions in Bash

Functions are a great way to reuse code. The structure of a function in bash is quite similar to most languages:

function function_name() {
    your_commands
}

You can also omit the function keyword at the beginning, which would also work:

function_name() {
    your_commands
}

I prefer putting it there for better readability. But it is a matter of personal preference.

Example of a “Hello World!” function:

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

Note: One thing to keep in mind is that you should not add the parenthesis when you call the function. Passing arguments to a function work in the same way as passing arguments to a script:

#!/bin/bash
function hello(){
    echo "Hello $1!"
}
hello DevDojo

Functions should have comments mentioning description, global variables, arguments, outputs, and returned values, if applicable

#######################################
# Description: Hello function
# Globals:
#   None
# Arguments:
#   Single input argument
# Outputs:
#   Value of input argument
# Returns:
#   0 if successful, non-zero on error.
#######################################
function hello(){
    echo "Hello $1!"
}

In the next few chapters we will be using functions a lot!


Licenses and Attributions


Speak Your Mind