Você pode usar uma função de shell praticamente em qualquer lugar onde possa usar um programa. Lembre-se de que as funções do shell não existem fora do escopo em que foram criadas.
#!/bin/bash
#
f() {
sleep 1
echo "f: Hello from f() with args($*)" >&2
sleep 1
echo "f: Goodbye from f()" >&2
}
echo "Running f() in the foreground" >&2
f one
echo "Running f() in the background" >&2
f two &
echo "Just waiting" >&2
wait
echo "All done"
exit 0