How to use the shebang

Shebang gets its name from # and ! which are known as “shell” and “bang” respectively. It is used in Linux system scripts to indicate the path to “Bash” (the standard command-line interpreter for most Linux systems). 

How the shebang is used will depend on what language you are creating the script for. Here are some common shebang syntaxes:

Script Language Syntax
Standard bash shell #!/bin/bash
System boot script #!/bin/sh
Perl #!/usr/bin/perl
Python #!/usr/bin/python
Python 2.6 #!/usr/bin/python2.6
Python 3 #!/usr/bin/python3
Ruby #!/usr/bin/ruby
PHP #!/usr/local/bin/php


From the table above, you may note that the shebang for different versions of Python each has individual syntax. This separation is necessary since the interpreter for each of those versions is located in separate directories.

Excluding a Shebang from Your Scripts

If the shebang is not included in a script file it is typical that the default path will be “/bin/sh.” However, even if that is the desired outcome it is generally preferable to specify the “/bin/sh” with a shebang.

The exception to this rule is when a script is sourced in another script. In cases such as this, it is acceptable not to include the shebang.



Working in the web hosting industry for over 13 years, Rado has inevitably got some insight into the industry. A digital marketer by education, Rado is always putting himself in the client's shoes, trying to see what's best for THEM first. A man of the fine detail, you can often find him spending 10+ minutes wondering over a missing comma or slightly skewed design.

Write a Comment