As said before, you can choose to run particular functions, but one thing I haven't seen yet is how you pass which functions you want to run into the script. This is where command-line arguments come in. Taking the previous example and expanding on it...
Code:
function one (){
commands }
function two (){
commands }
function three (){
commands }
case "$1" in
1)
one
;;
2)
two
;;
3)
three
;;
*)
echo "Usage: /path/script.sh {1|2|3}"
exit 1
esac
If there are cases where you might want to run function 1 and 2, but not 3, you can build those cases into the script as well. For example, I have some scripts to start and stop applications, and I also have a "restart" case that does both.