Sunday, September 4, 2022

[SOLVED] What is the preferred Bash shebang ("#!")?

Issue

Is there any Bash shebang objectively better than the others for most uses?

  • #!/usr/bin/env bash
  • #!/bin/bash
  • #!/bin/sh
  • #!/bin/sh -
  • etc

I vaguely recall a long time ago hearing that adding a dash to the end prevents someone passing a command to your script, but can’t find any details on that.


Solution

You should use #!/usr/bin/env bash for portability: different *nixes put bash in different places, and using /usr/bin/env is a workaround to run the first bash found on the PATH. And sh is not bash.



Answered By - l0b0
Answer Checked By - Clifford M. (WPSolving Volunteer)