whatis shebang

Shebang

Also known as: #!, hashbang

The #! line at the top of a script that tells the kernel which interpreter should run it, such as #!/usr/bin/env bash.

What Is a Shebang (#!) in Linux?

When you execute a file, the kernel checks its first two bytes. If they are #!, it runs the named interpreter and passes the script path as an argument. Without a shebang, the script runs in whatever shell happened to launch it.

#!/usr/bin/env bash finds bash through PATH, which is more portable than hard-coding /bin/bash. The file also needs the execute bit, set with chmod +x script.sh.

Example

#!/usr/bin/env bash
echo "hello"