P004 UNIX

Obsah
Předchozí: Shell - Interní příkazy shellu: exec, exit, export, fg
Interní příkazy shellu (pokrač.)

getopts povolené_volby jméno [argumenty]

#!/bin/sh
while getopts abo: VOLBA
  do
    case $VOLBA in
    a|b)   FLAGS=$FLAGS$VOLBA;;
    o)     OARG=$OPTARG;;
    \?)    echo Pouziti ... 1>&2
           exit 1;;
    esac
done
echo $*
shift $(($OPTIND-1))
echo $*

Při každém volání getopts se předá jedna volba z příkazového řádku do proměnné jméno a index volby následující se uloží do proměnné OPTIND . Při každém spuštění shellu nebo skriptu se proměnná OPTIND nastavuje na hodnotu 1.

Tento skript lze spustit např. jedním z následujících způsobů:

skript -a -b -o "xxx z yy" soubor
skript -ab -o "xxx z xx" -- soubor

Příkaz getopts implicitně zpracovává volby, které byly zadány na příkazovém řádku. Explicitně však volby můžeme zadat i na řádku s getopts jako argumenty. V tomto případě se použijí argumenty místo obsahu příkazového řádku.

Následující: Shell - Interní příkazy shellu: hash, help, jobs, kill, let, local, pwd
Obsah

Michal Brandejs brandejs@informatics.muni.cz