Как получить pid последнего фонового процесса в SSH

Мой сценарий оболочки запускается через SSH следующим образом:

ssh -i mycert.pem testuser@myserver.com <<SSHBLOCK
pm2 logs --lines 100 &
pid=$!
sleep 3
kill $pid
SSHBLOCK

Сценарий работает, как ожидалось, на локальном сервере (не заключенный в sshblock). Но когда мне нужно получить журналы на удаленном сервере, $ pid просто пусто. Почему $! пусто при использовании в SSHBLOCK выше?

-1
10.07.2017, 11:11
1 ответ

Вы должны использовать кавычки '' или escape \ для удаленного расширения переменной. Итак, используйте здесь документ <<'SSHBLOCK'ИЛИ<<\SSHBLOCK

1
28.01.2020, 05:10

Теги

Похожие вопросы