Dans le script Bash, quelle est la signification de «$! ”?


Réponses:


57

$!contient l'ID de processus du pipeline en arrière-plan exécuté le plus récemment. De man bash:

Paramètres spéciaux

Le shell traite spécialement plusieurs paramètres. Ces paramètres ne peuvent être référencés que; leur assignation n'est pas autorisée.

...

! - Développe l'ID de processus de la commande d'arrière-plan (asynchrone) exécutée le plus récemment.

Par exemple:

$ sleep 60 &
[1] 6238
$ echo "$!"
6238

J'ai l'impression que vous et slm dites à propos de la même chose :)
msw

22

De la page de manuel de Bash:

   !   Expands to the process ID of the most recently executed 
       background (asynchronous) command.

Donc $!, contiendrait l'ID de processus (PID) du dernier travail en arrière-plan.

Exemple

$ sleep 100 &
[1] 18813

$ echo "$!"
18813

Les références


1
J'ai l'impression que vous et Chris Down dites la même chose :)
un CVn

2
Il semblerait qu’il y ait un écho à cette question 8-).
slm

Les mêmes votes comptent aussi!
un CVn

@ MichaelKjörling - les grands esprits se rencontrent 8-).
slm
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.