Skip to content

Bash Functions: How to Create and Use Them



Bash, or the Bourne-Again Shell, is a popular command-line interface used in many Unix-based operating systems. Bash functions are an essential feature of the shell, allowing users to create reusable code blocks that can take arguments and return values. In this blog post, we will explore the basics of creating and using Bash functions, along with some examples.

Creating a Bash Function

To create a Bash function, you need to use the function keyword followed by the name of the function and a set of parentheses. Here is an example of a simple function that prints “Hello, World!”:

function hello_world {
  echo "Hello, World!"

You can also define a function without the function keyword, like this:

hello_world() {
  echo "Hello, World!"

Both of these methods are equivalent and can be used interchangeably.

Using a Bash Function

To use a Bash function, you simply need to call it by name. Here is an example of how to call the hello_world function:


This will output “Hello, World!” to the console.


Now that we know how to create and use Bash functions, let’s look at some examples.

Example 1: Adding Two Numbers

This function takes two arguments, adds them together, and returns the result:

add() {
  sum=$(($1 + $2))
  echo $sum

You can call this function like this:

result=$(add 3 5)
echo $result

This will output “8” to the console.

Example 2: Checking File Existence

This function checks if a file exists and returns a message accordingly:

file_exists() {
  if [ -e $1 ]; then
    echo "$1 exists"
    echo "$1 does not exist"

You can call this function like this:

file_exists file.txt

This will output “file.txt exists” if the file exists in the current directory.

Example 3: Counting Lines in a File

This function counts the number of lines in a file and returns the result:

count_lines() {
  lines=$(wc -l < $1)
  echo "The file $1 has $lines lines"

You can call this function like this:

count_lines file.txt

This will output “The file file.txt has X lines”, where X is the number of lines in the file.

Example 4: Change Workspace to Script Dir

#!/usr/bin/env bash

work_dir() {
        cd "$(dirname "$0")"
    cd ${WORK_DIR}



Bash functions are a powerful tool that can help you write more efficient and reusable code. By creating functions that can take arguments and return values, you can save time and reduce errors in your scripts. We hope this post has provided you with a good introduction to Bash functions and some examples to help you get started. Happy scripting!


  • Welcome to visit the knowledge base of SRE and DevOps!
  • License under CC BY-NC 4.0
  • Made with Material for MkDocs and improve writing by generative AI tools
  • Copyright issue feedback, replace # with @