60.19.7. Argumenty skriptu

60.19.7.1. getopt
60.19.7.2. getopts

rcsinfo="$Header: /home/radek/cvs/unix-book/unix.xml,v 1.7 2009-03-07 03:52:40 radek Exp $"

Odkazy:

Náš skript, jako každý program, má přístup k parametrům uvedeným na příkazovém řádku. Zpracovávat je můžeme několika způsoby, ale přístup je v základě přes pořadové číslo parametru.

$0 $1 … $9
${0} ${1} … ${23} …

Další informace které máme je celkový počet argumentů $# a proměnné obsahující všechny argumenty $* a "$@"

vflag=off
while [ $# -gt 0 ]; do
    case "$1" in
        -v)  vflag=on;;
    esac
    shift
done
vflag=off
while [ $# -gt 0 ]; do
    case "$1" in
        -v)  vflag=on;;
        -*)
            echo "usage: $0 [-v] [file ...]" >&2
            exit 1;;
        *)  break;;
    esac
    shift
done
vflag=off
filename=
while [ $# -gt 0 ]; do
    case "$1" in
        -v) vflag=on;
        -f) filename="$2"; shift;;
        ⋮
    esac
    shift
done

getopts optstring name [args]