GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Menghentikan Skrip Loop Bash Di Terminal?

Misalnya,

#!/bin/bash
while :
do
    sl
done

Bagaimana cara menghentikan skrip bash ini?

Jawaban yang Diterima:

Program sl sengaja mengabaikan SIGINT , yang dikirim saat Anda menekan Ctrl+C . Jadi, pertama-tama, Anda harus memberi tahu sl untuk tidak mengabaikan SIGINT dengan menambahkan -e argumen.

Jika Anda mencoba ini, Anda akan melihat bahwa Anda dapat menghentikan setiap sl , tapi mereka masih mengulang. Anda perlu memberi tahu bash untuk keluar setelah SIGINT demikian juga. Anda dapat melakukannya dengan menempatkan trap "exit" INT sebelum pengulangan.

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

Linux
  1. Cara memutar ulang sesi terminal yang direkam dengan perintah skrip Linux

  2. Bagaimana Cara Men-debug Skrip Bash?

  3. Bagaimana Cara Membaca Seluruh Script Shell Sebelum Mengeksekusinya?

  1. Cara Memisahkan String dalam Skrip Bash

  2. Bagaimana cara menjalankan skrip shell di konsol Unix atau terminal Mac?

  3. Bagaimana cara menjalankan skrip bash?

  1. Cara menulis loop di Bash

  2. Tidak Dapat Menghentikan Skrip Bash Dengan Ctrl+c?

  3. Bagaimana saya tahu nama file skrip dalam skrip Bash?