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" …
$#
$0
Uvedené 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.