La variable $$ représente le PID du shell qui interprète le script.
	La valeur de cette variable est la même pendant toute la durée d'exécution du script et différente à chaque utilisation du script.
Exemple :
Dans ce script, la variable $$ est utilisée pour générer le nom d'un dossier différent à chaque exécution du script.
$ nl monQuatriemeScript.sh
	     1  #! /bin/bash
	     2  dossierTemp=dossier_$$
	     3  echo "Création du dossier \"$dossierTemp\""
	     4  mkdir $dossierTemp
	     5  cd $dossierTemp
	     6  for (( i=0 ; i<10 ; i++)) do
	     7          touch fichier_$i
	     8  done
	     9  exit 0
	$
$ ./monQuatriemeScript.sh
	Création du dossier "dossier_26563"
	$ ./monQuatriemeScript.sh
	Création du dossier "dossier_26581"
	$
La variable $! représente le PID d'une commande exécutée en arrière plan.
exemple :
$ nl monCinquiemeScript.sh
	     1  #! /bin/bash
	     2  echo "Le script est exécuté sous le PID $$"
	     3  find /etc -name $1 1> resultat 2> /dev/null &
	     4  echo "La commande FIND est en cours d'exécution sous le PID $!"
	     5  ps
	     6  exit 0
	$
$ ./monCinquiemeScript.sh hosts.allow
	Le script est exécuté sous le PID 29999
	La commande FIND est en cours d'exécution sous le PID 30000
	  PID TTY          TIME CMD
	19703 pts/0    00:00:00 bash
	29999 pts/0    00:00:00 monCinquiemeScr
	30000 pts/0    00:00:00 find
	30001 pts/0    00:00:00 ps
	$