繁体   English   中英

当信号设置为“DEBUG”假信号时,为什么我的陷阱不起作用?

[英]why my trap doesn't work when the signal set as “DEBUG” fake signal?

#test code:

#!/bin/bash
#~/test/test.sh
trap "echo 'testmessage'" DEBUG

while :
do
echo abc
sleep 6
done

#run it
~/test$sh test.sh

==============================

#result
=>   trap: DEBUG: bad trap  

==============================

?[shell debug]为什么我的陷阱不起作用时信号设置为“DEBUG”假信号,但报告陷阱错误?

错误信息“坏陷阱”是由灰烬而不是bash产生的。 当你运行sh test.sh ,shebang行是无关紧要的,因为你没有执行脚本,你正在执行名为“sh”的程序,其中“test.sh”作为参数。 sh程序(在你的情况下是灰烬或破折号的符号链接,我打赌)然后尽力运行参数中命名的脚本。 如果你运行命令./test.sh (它首先需要+ x权限),shebang线会起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM