当我终止“CTRL+C”时,以下脚本
#!/bin/bash
function waa(){
for i in {1..10}
do
echo "start.sh: sleeping $i"
sleep 1s
done
}
trap "echo 'GAGA'" TERM
waa >> log.txt
陷阱回声“GAGA”转到log.txt?为什么会有这样的行为?很不直观?
谢谢!
答案1
您已将 的标准输出重定向waa
到,并在脚本执行时log.txt
触发。是在该上下文中执行的。trap
waa
echo
如果你想让回声去安慰,您可以尝试将其重定向到标准错误,例如,
trap "echo 'GAGA' >&2 " TERM
(除非您在运行脚本时重定向了标准错误,否则应该有所帮助)。