En las secuencias de comandos Bash, ¿cuál es el significado de "$! "?


Respuestas:


57

$!contiene el ID de proceso de la canalización de fondo ejecutada más recientemente. De man bash:

Parámetros especiales

El shell trata varios parámetros especialmente. Estos parámetros solo pueden ser referenciados; la asignación a ellos no está permitida.

...

! - Se expande a la ID de proceso del comando de fondo (asíncrono) ejecutado más recientemente.

Por ejemplo:

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

Tengo la sensación de que usted y slm están diciendo lo mismo :)
msw

22

De la página del manual de Bash:

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

Por $!lo tanto , contendría el ID de proceso (PID) del último trabajo que se realizó en segundo plano.

Ejemplo

$ sleep 100 &
[1] 18813

$ echo "$!"
18813

Referencias


1
Tengo la sensación de que usted y Chris Down están diciendo lo mismo :)
un CVn

2
Parece que hay un eco en esta Pregunta 8-).
slm

¡Los mismos votos también cuentan!
un CVn

@ MichaelKjörling - hey grandes mentes piensan igual 8-).
slm
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.