diff --git a/SC3048.md b/SC3048.md new file mode 100644 index 0000000..bc02ba6 --- /dev/null +++ b/SC3048.md @@ -0,0 +1,29 @@ +## In POSIX sh, prefixing signal names with 'SIG' is undefined. + +(or "In dash, ... is not supported." when using `dash`) + +### Problematic code: + +```sh +trap 'handle_interrupt' SIGINT +``` + +### Correct code: + +```sh +trap 'handle_interrupt' INT +``` + +### Rationale: + +POSIX does not allow specifying the "SIG" prefix of a signal name like "INT". Bash and Ksh supports this as an extension. + +Simply remove the "SIG" from the signal name. + +### Exceptions: + +None + +### Related resources: + +* Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!