GNU/Linux >> Znalost Linux >  >> Linux

Jak zastavit skript Loop Bash v terminálu?

Například,

#!/bin/bash
while :
do
    sl
done

Jak ukončit tento bash skript?

Přijatá odpověď:

Program sl záměrně ignoruje SIGINT , což je to, co se odešle, když stisknete Ctrl+C . Nejprve tedy musíte sdělit sl neignorovat SIGINT přidáním -e argument.

Pokud to zkusíte, všimnete si, že můžete zastavit každý jednotlivý sl , ale stále se opakují. Musíte to říct bash pro ukončení po SIGINT také. Můžete to udělat vložením trap "exit" INT před smyčkou.

#!/bin/bash
trap "exit" INT
while :
do
    sl -e
done

Linux
  1. Jak získat stav ukončení smyčky v bash

  2. Jak spustit bash skript?

  3. Bash Loop - Jak zastavit smyčku, když stisknu Control-C uvnitř příkazu?

  1. Jak napsat smyčku v Bash

  2. Jak přehrát terminálové relace zaznamenané pomocí příkazu skriptu Linux

  3. Jak ladit Bash skript?

  1. Jak číst celý skript Shell před jeho spuštěním?

  2. Nelze zastavit Bash skript pomocí Ctrl+c?

  3. Jak rozdělit řetězec ve skriptu Bash