Using Flags and Arguments in Bash

Here’s a simple example script, showing how to deal with different inputs depending on the flag preceding them:

#!/bin/bash
USAGE="Usage: Enter a noun after either -p (polite) or -i (insulting)."

while getopts ":p:i:" OPTIONS; do
  case $OPTIONS in
    p ) polite=$OPTARG;;
    i ) insulting=$OPTARG;;
    h ) echo $USAGE;;
    \? ) echo $USAGE
         exit 1;;
    * ) echo $usage
        exit 1;;
  esac

if [ $polite ]; then echo "Your $polite smells good."; fi
if [ $insulting ]; then echo "Your $insulting smells bad."; fi
done

Stolen fromĀ http://www.okboot.org/2010/04/using-flags-and-arguments-in-bash.html

Leave a Reply

Your email address will not be published.