Skip to content

Files

Latest commit

 

History

History
29 lines (18 loc) · 921 Bytes

SC1128.md

File metadata and controls

29 lines (18 loc) · 921 Bytes

Pattern: Missing shebang on the first line

Issue: -

Description

A shebang only has an effect when it appears as the first line in a script. Specifically, the first two bytes of the file must be #!.

Adding comments, copyright notices or simply an accidental blank line before it will turn a shebang into an ineffectual comment. This means that the script is no longer in charge of its own interpreter, and may fail to run or produce different results depending on the context it's run (e.g. it may work from bash but not from zsh or via sudo).

Delete any leading blank lines, and move all comments after the shebang.

Example of incorrect code:

# Copyright @ Foobar, All rights reserved
#!/bin/bash

Example of correct code:

#!/bin/bash
# Copyright @ Foobar, All rights reserved

Further Reading