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.