Updated SC2039 (markdown)

koalaman
2015-10-13 10:34:46 -07:00
parent 0d9ab87a68
commit c93fbcaaeb

@@ -1,10 +1,10 @@
## `#!/bin/sh` was specified, but *something* is not standard. ## In POSIX sh, [[ ]] is undefined.
The shebang indicates that the script works with `/bin/sh`, but you are using non-standard features that may not be supported. The shebang indicates that the script works with `/bin/sh`, but you are using non-standard features that may not be supported.
It may currently work for you, but it can or will fail on other OS, the same OS with different configurations or from different contexts (like initramfs/chroot), or different versions of the same OS, including future updates to your current system. It may currently work for you, but it can or will fail on other OS, the same OS with different configurations, from different contexts (like initramfs/chroot), or in different versions of the same OS, including future updates to your current system.
Either declare a specific shell like `#!/usr/bin/env bash` to make sure this shell is always used, or rewrite the script in a portable way. Either declare a specific shell like `#!/bin/bash` or `#!/bin/dash` to make sure this shell is always used, or rewrite the script in a portable way.
For help with rewrites, the Ubuntu wiki has [a list of portability issues](https://wiki.ubuntu.com/DashAsBinSh) that broke people's `#!/bin/sh` scripts when Ubuntu switched from Bash to Dash. ShellCheck may not warn about all these issues. For help with rewrites, the Ubuntu wiki has [a list of portability issues](https://wiki.ubuntu.com/DashAsBinSh) that broke people's `#!/bin/sh` scripts when Ubuntu switched from Bash to Dash. ShellCheck may not warn about all these issues.