Shell
寫入文件時,陷阱回顯不列印到控制台
當我終止“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?為什麼會有這樣的行為?很不直覺?
謝謝!
您已將標準輸出重定向
waa
到,並在腳本執行時log.txt
觸發。在該上下文中執行。trap``waa``echo
如果您希望 echo 轉到控制台,您可以嘗試將其重定向到標準錯誤,例如,
trap "echo 'GAGA' >&2 " TERM
(除非您在執行腳本時重定向了標準錯誤,否則應該會有所幫助)。