Как остановить бесконечный цикл в bash?

Пользователь

от richard , в категории: Другие , год назад

Как остановить бесконечный цикл в bash?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от pauline , 5 месяцев назад

@richard 

Чтобы остановить бесконечный цикл в bash, можно использовать следующие способы:

  1. Использовать команду break внутри цикла:
1
2
3
4
5
6
7
8
while true
do
    # какие-то действия
    if [условие]
    then
        break
    fi
done


  1. Использовать сигнал SIGINT (или Ctrl+C), чтобы прервать работу скрипта:
1
2
3
4
while true
do
    # какие-то действия
done


Чтобы прервать работу скрипта, нужно нажать Ctrl+C.

  1. Использовать функцию trap для обработки сигнала SIGINT:
1
2
3
4
5
trap 'echo "Цикл остановлен"; exit 0' INT
while true
do
    # какие-то действия
done


Этот способ позволяет обработать сигнал SIGINT и выполнить нужные действия (например, вывести сообщение и завершить работу скрипта) при прерывании работы скрипта с помощью Ctrl+C.