我将脚本 sh 转换为 bash 并遇到了 SIGINT 问题

我将脚本 sh 转换为 bash 并遇到了 SIGINT 问题

在我的脚本中,我将 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

相关内容