31_trap.sh (958B)
1 #!/bin/sh 2 3 # 'trap' is a very useful tool that I've been using on the exercises 4 # where I said you didn't have to worry about deleting the created file. 5 # 6 # $ trap command SIGNAL 7 # 8 # For example, in your tests/ files, many will have trap statements 9 # 10 # $ cleanup() { 11 # $ [ -f "file" ] && rm file 12 # $ } 13 # $ trap cleanup EXIT 14 # 15 # exit is the signal for trap to call cleanup(). Below are the different 16 # signals that trap detects 17 # 18 # $ trap command EXIT # catches both exit 1 and exit 0 19 # $ trap command INT # catches ctrl+c kills 20 # $ trap command TERM # catches a signal terminate, like 'kill' 21 # $ trap command INT EXIT # catches different instances 22 # 23 # You don't have to call functions when running trap, you can run 24 # commands in the same line 25 # 26 # $ trap 'echo "Exiting.."; exit' TERM 27 # 28 # Below is a simple creation of a file, write a trap line that prints 29 # out "Removing..." and removes the file 30 31 touch file.txt 32 echo "kill me" > file.txt