Tento příkaz pro nás znamená velké zjednodušení při zpracování argumentů předaných našim shellovým skriptům, neboť nám umožní zpracovat přepínače. Volání getopts prakticky vždy vypadá následovně:
while getopts dh:m opt
do
case $opt in
d) day=1;;
h) help=$OPTARG;;
m) month=1;;
*) echo "Invalid argument";;
esac
done
shift $(($OPTIND - 1))
Do proměnné $opt je opakovaně přiřazováno jméno zadaného přepínače, v proměnné $OPTARG je pak vždy uložena jeho hodnota, pokud ji dostává. Za přepínače, které očekávají hodnotu, napíšeme při předávání getopts dvojtečku. Příkaz shift na konci zaručí, že z $@ zmizí všechny přepínače (které musí být uvedeny jako první) a zbudou další argumenty, pokud skript nějaké očekává.