La sortie de la commande echo $$
affiche un certain nombre dans la sortie standard, comme ci-dessous.
$ echo $$
14594
Quel est ce nombre? Et aussi,
$ x=a
$ echo $x
a
Dans l'exemple ci-dessus, echo $x
analyse la variable x et affiche la valeur de x
sur la sortie standard. De même, dans cette commande echo $$
, le second symbole en dollars représente-t-il une variable?
$$
est le PID ( identificateur de processus ) du shell actuel (pas le sous-shell). Dans un script, dans un sous-shell, $$
renvoie le PID du script, pas le sous-shell. Voir Variables internes .
Vous pouvez également trouver le PID renvoyé par echo $$
in terminal dans le résultat de la commande suivante:
ps ax | grep bash
$$
est l'une des variables internes de bash. Contrairement à $x
, dans votre exemple, il ne "contient" pas de valeur, la valeur est demandée chaque fois que vous accédez à la variable.
Dans un script bash, renvoie l'identifiant du processus du script lui-même. Dans un script, vous pouvez appeler kill $$
pour envoyer SIGTERM
à votre script.
Dans un shell bash, renvoie l'identifiant du processus bash en cours.
Dans un script bash, à l'intérieur d'un sous-shell, , l'ID de processus du script est renvoyé, pas le sous-shell.