私のスクリプトでshebangを#!/bin/bash
に変更しました#!/bin/sh
。私のスクリプトには次の行があります。
ctrlc(){
echo; kill -INT 0; exit 0
}
trap ctrlc 2
bash
クリックすると、^C
すべてが正常に機能し、プログラムが正常に終了します。ただし、sh
プログラムにはまだ存在しますが、次のメッセージが表示されます。/mnt/c/Users/user/Documents: 1: Maximum function recursion depth (1000) reached
なぜこのメッセージが表示され、それを見ないのですか?ありがとうございます。
答え1
あなたはこれを試すことができます
trap 'echo " "; echo "PROGRAM INTERRUPTED"; echo " "; exit 1' INT