當我終止“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
(除非您在運行腳本時重定向了標準錯誤,否則應該有所幫助)。