$0 : nom du script. Plus précisément, il s'agit du paramètre 0 de la ligne de commande, équivalent de argv[0]
$1, $2, ..., $9 : respectivement premier, deuxième, ..., neuvième paramètre de la ligne de commande
$* : tous les paramètres vus comme un seul mot
$@ : tous les paramètres vus comme des mots séparés : "$@" équivaut à "$1" "$2" ...
$# : nombre de paramètres sur la ligne de commande
$- : options du shell
$? : code de retour de la dernière commande. Vaut généralement 0 si cette commande s'est bien déroulée, et un autre nombre correspondant à un type d'erreur, décrit par la commandeerrno[2].
$$ : PID du shell
$! : PID du dernier processus lancé en arrière-plan
$_ : dernier argument de la commande précédente
https://fr.wikibooks.org/wiki/Programmation_Bash/Notions_essentielles_du_shell_bash