Spuštěný skript má k dispozici řadu proměnných ve kterých jsou informace o parametrech a přepínačích uvedených na příkazové řádce. Jsou to zejména:
$0$1, $2, $3, …${10}, ${10}, …$*$1, $2, $3, …$@"$@", tak se expanduje na "$1" "$2" …$#$0Uvedené proměnné mají uvedené hodnoty definovány jen ve skriptu mimo těla funkcí. V tělech funkcí nabývají hodnot podle parametrů předávaných funkci.
Argumenty příkazové řádky můžeme procháze jednoduchým způsobem cyklem for s vnořeným příkazem case.
for a in "$@"; do
        echo "process argument $a"
        case "$a" in
        -a)
                VOLBA_A=1
                ;; 
                
                …
        esac
done
	Pro sofistikovanější analýzu je vhodné použít k tomu existující nástroje. Tyto jsou popsány dále. Jedná se zejména o vnitřní příkaz bashe getopts a externí program getopt.