In Bash scripting, what's the meaning of " $! "?

$! contains the process ID of the most recently executed background pipeline. From man bash:

Special Parameters

The shell treats several parameters specially. These parameters may only be referenced; assignment to them is not allowed.

...

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

For example:

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

From Bash's man page:

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

So $! would contain the process ID (PID) of the last job that was backgrounded.

Example

$ sleep 100 &
[1] 18813

$ echo "$!"
18813

References

  • bash man page