Shebang lines are a standard means to allow files to be executed by the indicated interpreter.

In addition to convenience, shebangs provide a decoupling mechanism, as the means through which a command is executed can be hidden from call sites. Along with naming the resulting file appropriately generally (i.e. avoiding an extension that implies implementation), this allows for replacing the implementation over time (for example starting with a more rapidly usable but more limited alternative and subsequently replacing it with something else in the interest of performance or power.