suspend является встроенным bash,
suspend: suspend [-f]
Suspend shell execution.
Suspend the execution of this shell until it receives a SIGCONT signal.
Unless forced, login shells cannot be suspended.
Options:
-f force the suspend, even if the shell is a login shell
Exit Status:
Returns success unless job control is not enabled or an error occurs.
и как встроенные имеют приоритет, просто набрав suspend будет вести себя точно так, как вы описываете: оболочка блокирует, пока вы ее не убьете (если вы [ f4] он, он возобновляется).
То, что вы видите такое же поведение, вызывая его с помощью пути, является либо экспериментальной ошибкой, либо ошибкой в оболочке. Я бы заподозрил бывшего перед последним.
Если вы не выполнили какой-либо код перед выполнением, вы можете использовать trap:
#!/bin/bash
trap "echo Exiting" SIGINT SIGTERM
read
Подробнее здесь.
Вам может понадобиться команда at:
at 3 hours <<END
backGround job commands
END