GNU/Linux >> Linux の 問題 >  >> Linux

ターミナルでループバッシュスクリプトを停止する方法は?

たとえば、

#!/bin/bash
while :
do
    sl
done

このbashスクリプトを終了するにはどうすればよいですか?

承認された回答:

プログラムsl SIGINTを意図的に無視します 、 Ctrl + Cを押すと送信されます 。したがって、最初に、slに指示する必要があります SIGINTを無視しないでください -eを追加する 引数。

これを試してみると、個々のslを停止できることがわかります。 、しかしそれらはまだ繰り返されます。 bashに伝える必要があります SIGINTの後に終了します 同じように。これを行うには、trap "exit" INTを配置します。 ループの前。

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

Linux
  1. Bashでループを作成する方法

  2. Linuxスクリプトコマンドで記録されたターミナルセッションを再生する方法

  3. Bash スクリプトのスクリプト ファイル名を知るにはどうすればよいですか?

  1. Unix コンソールまたは Mac 端末でシェル スクリプトを実行するには?

  2. ターミナルでHZを確認するには?

  3. bashでループの終了ステータスを取得する方法

  1. ターミナル出力をコピーするには?

  2. ターミナルに表示される現在のディレクトリ パスを短縮するにはどうすればよいですか?

  3. Bash ループ - コマンド内で Control-C を押したときにループを停止するには?