Иногда нажатие на элемент управления -c не работает :тело цикла получает элемент управления -c, и цикл продолжает повторяться. (Хотя я не могу воспроизвести это поведение прямо сейчас с sleep 1
в качестве условия цикла или тела, я помню, что видел это.)
control -z может остановить это, и цикл не возобновится после fg
, если только цикл не был внутри подоболочки, такой как (while true;do : ;done)
. (С bash
в GNU/Linux ).
Или управление -z / fg
полезно, если вы хотите, чтобы текущая -итерация цикла завершалась чисто, но не начиналась другая итерация.
(Элемент управления -z останавливает задание, заставляя ядро доставлять SIGTSTP точно так же, как элемент управления -c доставляет SIGINT на TTY, который не находится в режиме RAW. Действие по умолчанию для этого сигнала — остановить задание. fg
и bg
являются командами управления заданиями -, см. встроенный bash -в «справке» для них и команду jobs
.)