You write a bash script. Easy.
Later you add a single command line switch. Ok.
Again, later, you want to add another switch, maybe with a short and long option. Mmh, it gets slightly unreadable.
You want to add subcommands? Option validation? Usage output? Completion? Ugh, no...
I will show you an alternative!
(Tested with Bash 3.2.57)