У меня есть следующее, но я беспокоюсь о $!
перезаписывается перед выполнением команды echo. Как вы, ребята, порекомендуете это сделать?
sleep 100 & >/dev/null ; echo $! >sleep.pid
Bash разработан так, что этого не может произойти, как вы его описали. Значение $!
за один сеанс - это идентификатор последнего фонового процесса в этой конкретной сессии.