I think our documentation on $! is a little misleading. `man bash' states:
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.
I don't think this statement is true. Take this as an example:
$ sleep 60
^Z
[1]+ Stopped sleep 60
$ sleep 60 &
[2] 6580
$ bg
[1]+ sleep 60 &
$ echo "$!"
6579
The pipeline with the PID referenced by $! was not executed last, it was merely
backgrounded last. I suggest s/executed background/backgrounded/.
If this is accepted as valid, I will happily write and attach a patch.
Best,
Chris
pgpUkRpRHbYxG.pgp
Description: PGP signature
