#!/bin/bash function main { [ -z "$1" ] && { getPID "$@"; } || $1 } getPID() { a=$1 b='service' if [[ $a == 'contains' ]]; then PID=$(pgrep -f $b) elif [[ $a == 'exact' ]]; then PID=$(pgrep -x $b) fi echo "$PID" } main "$@" command : I am running for calling the function : ./script.sh getPID contains
Output : it prints blank and value of variable a is blank