Bash – how to use functions – quick tutorial

Using functions in bash is fairly useful to organise and reuse code. Here is quick beginner tutorial with examples on using bash functions.

Declaring functions in bash

Functions can be declared either using function f1 () or f1 () as shown below:

#!/bin/bash
function f1 () {
  echo "in f1"
}
f2 () {
  echo "in f2"
}

f1
f2
in f1
in f2
Env: GNU bash, version 4.3.11

Passing arguments to functions in bash

Arguments are accessible using $@ or $1, $2, etc.

#!/bin/bash
function f1 () {
  echo "in f1 all args=$@"
  echo "in f1 first arg=$1"
}

f1 A B B
in f1 all args=A B B
in f1 first arg=A
Env: GNU bash, version 4.3.11

Calling functions in bash

Function f1 can directly called as f1 in as sub-shell command (e.g. $(f1)). When called with sub-shell mode it will return the outcome of echo, etc. instead of printing.

#!/bin/bash
function f1 () {
  echo "in f1"
}

## inline function mode
f1

# in sub-shell mode
ret=$(f1)
echo "ret=$ret"
in f1
ret=in f1
Env: GNU bash, version 4.3.11

Share this article: share on Google+ share on facebook share on linkedin tweet this submit to reddit

Comments

Click here to write/view comments