Respostas:
$!
contém o ID do processo do pipeline em segundo plano executado mais recentemente. De man bash
:
Parâmetros especiais
O shell trata vários parâmetros especialmente. Esses parâmetros podem ser referenciados apenas; a atribuição a eles não é permitida.
...
!
- Expande para o ID do processo do comando em segundo plano (assíncrono) executado mais recentemente.
Por exemplo:
$ sleep 60 &
[1] 6238
$ echo "$!"
6238
Na página de manual do Bash:
! Expands to the process ID of the most recently executed
background (asynchronous) command.
Portanto $!
, conteria o ID do processo (PID) do último trabalho em segundo plano.
$ sleep 100 &
[1] 18813
$ echo "$!"
18813