[英]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.