Created SC3049 (markdown)

Vidar Holen
2020-09-07 20:57:11 -07:00
parent c8e5eb360a
commit cb9a5dfcd7

28
SC3049.md Normal file

@@ -0,0 +1,28 @@
## In POSIX sh, using lower/mixed case for signal names is undefined.
### Problematic code:
```sh
trap 'handle_sigint' int
```
### Correct code:
```sh
trap 'handle_sigint' INT
```
### Rationale:
POSIX requires that signal names [be given in uppercase](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_28):
>The condition can be EXIT, 0 (equivalent to EXIT), or a signal specified using a symbolic name, without the SIG prefix, as listed in the tables of signal names in the <signal.h> header defined in XBD Headers; for example, HUP, INT, QUIT, TERM. Implementations may permit names with the SIG prefix or ignore case in signal names as an extension.
### Exceptions:
None
### Related resources:
* Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!