Как приостановить исходный скрипт в bash?

Как приостановить исходный скрипт в bash?

Когда я запускаю процесс в Bash, я могу приостановить его с помощью Ctrl-Z, но это, похоже, не работает для исходных скриптов ( . foo.sh). Есть ли способ приостановить такие скрипты?

решение1

При запуске foo.sh сочетание клавиш Ctrl+Z (SUSP) просто останавливает текущую выполняемую команду.вfoo.sh и оболочка беззаботно продолжает выполнять следующую команду в foo.sh.

Я не думаю, что есть способ обойти это. Если вы хотите иметь возможность приостановить весь foo.sh, вы должны запустить его как подпроцесс, вызвав его как команду, а не используя его как источник.

Связанный контент