Scripting “如何使终端不打印”^被信号2杀死&引用;抓住一个信号

Scripting “如何使终端不打印”^被信号2杀死&引用;抓住一个信号,scripting,shell,Scripting,Shell,我正在为我的项目编写的脚本中捕捉信号信号 trap sigint_handler SIGINT 我有信号处理器 sigint_handler() { # echo caught signal, now quiting.... exit $? } 因此,现在当脚本获得CTRL+C信号时,它将获得该信号并退出 并在终端上打印此消息: $^Killed by signal 2. $ 我知道这个消息是由系统生成的。我想这是因为一些干扰,我可能是不对的 所以现在我只想知道,由于那个

我正在为我的项目编写的脚本中捕捉信号信号

trap sigint_handler SIGINT
我有信号处理器

sigint_handler()
{
#    echo caught signal, now quiting....

     exit $?
}
因此,现在当脚本获得CTRL+C信号时,它将获得该信号并退出

并在终端上打印此消息:

$^Killed by signal 2.
$
我知道这个消息是由系统生成的。我想这是因为一些干扰,我可能是不对的

所以现在我只想知道,由于那个信号,当退出脚本时,这个消息不应该出现在终端上

我的预期行为是,当我按下CTRL+C时,它不应该像通常情况下那样打印任何消息并以静默方式从脚本中出来

谁能告诉我或建议我如何忽略此消息。 有没有办法忽略此消息

谢谢


Alok.Kr.

陷阱语句在哪里

trap 'echo "signal received, exiting"' 2

在POSIX系统上,陷阱信号#2是SIGINT(ctrl/c)的陷阱语句示例。

陷阱语句在哪里

trap 'echo "signal received, exiting"' 2

在POSIX系统上,陷阱信号#2是SIGINT(ctrl/c)的一个示例陷阱语句。

trap-SIGINT#u处理程序SIGINT这是信号2的SIGINT陷阱。我看不到您的函数做了什么。这就是有时被称为“失败”的东西,意思是它被执行了,但程序状态没有改变。trap sigint_handler sigint这是sigint的陷阱,它是信号2。我看不到你的函数做了什么。它有时被称为“失败”,意思是它被执行,但不会改变程序状态。