Shebang

De shebang is de eerste regel van een script. Ze vertelt de kernel welk programma het script moet uitvoeren.

Formaat

#!/bin/bash
#!/usr/bin/env python3
#!/bin/sh

De #! (hekje + uitroepteken) is de shebang. Daarna volgt het pad naar de interpreter.

Waarom /usr/bin/env?

#!/usr/bin/env python3 zoekt python3 op via PATH in plaats van een vast pad te gebruiken. Dat maakt scripts draagbaarder: op de ene machine staat Python in /usr/bin, op een andere in /usr/local/bin.

Uitvoerbaar maken

Een script met shebang moet uitvoerbaar zijn:

chmod +x mijnscript.sh
./mijnscript.sh

Zonder +x kun je het script nog wel aanroepen met bash mijnscript.sh — dan kijkt de shell zelf niet naar de shebang.

Zie ook

linuxshellscripting