Home » Unix command and scripts » Simple View of Functions in Shell Script with some practical examples

Simple View of Functions in Shell Script with some practical examples

Functions in Shell Script

Shell programming provides the feature of functions just like any other programming language. This helps us develop the program in a modular manner. Using functions in a shell script to perform repetitive tasks is an excellent way to create code reuse. Code reuse is an important part of modern object-oriented programming principles.

What are functions in Shell Script?

Functions are group pieces of code in a more logical way or practice the divine art of recursion.

Why do require functions?

  1. It helps us reuse the  code
  2. Improve readability
  3. Make debugging easier
  4. Display program as a bunch of steps

How to declare the function ?

Declaring a function is just a matter of writing function

exampl_func  () 
 {
 Code..
 }

How to call the functions in shell script?


Calling a function is just like calling another program, you just write its name.

exampl_func

Different type of Functions in shell script

Function with out parameter

!/bin/ksh
 Hello ()
 {
 Echo “hello how are you”
 }
 hello
 exit 0

Function with parameter passing

Count and display the number of files in the specified directory.
 !/bin/ksh
 FILECOUNT ()
 {
 CDIR=$1
 Fcount=ls -l $CDIR | wc –l
 printf "There are $Fcount files in $CDIR. \n"
 }
 FCOUNT /export/home/
 exit 0

Function with a return parameter

!/bin/sh
 Define your function here
 Hello () {
 echo "How are you $1 $2"
 return “success”
 }
 Invoke your function
 Hello Tom Hanks
 #Capture value returned by last command
 ret=$?

Some useful examples of functions in shell script

Setting the Oracle environment

set_Ora_Env () 
 {
 ORAENV_ASK=NO; export ORAENV_ASK
 export ORACLE_SID=$1
 . /usr/local/bin/oraenv
 }

Checking the OS username

Check_OS_Username () 
 {
 USER=id|awk -F'(' '{print $2}'|awk -F')' '{print $1}'
 case ${USER} in
 $1)
 : ;;
 *)
 echo
 echo "$PROG: Must be run as user $1"
 echo "Usage: $PROG "
 exit 1;;
 esac
 }

Checking the number of arguments passed in the scripts

Check_Options () 
 {
 if [ $# -ne 1 ]
 then
 echo "\n$PROG: Incorrect number of arguments"
 echo "Usage: $PROG "
 echo "$PROG: Abort: exit status 1\n"
 exit 1
 fi
 }

Related articles in Shell scripting
What is shell and Shell Scripts
If statement in Shell Scripts
loop in shell scripts
awk command in Unix
Unix  shell function examples
See also  tee command in Unix

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top