Beachten Sie, dass der Befehl build mehrere Teile der go-Toolkette mit dem impliziten Ziel auffordert, eine ausführbare Datei zu erstellen . Sie könnten fragen, ob Sie nur kompilieren, sagen oder verknüpfen möchten, indem Sie die einzelnen Werkzeuge abwechselnd verwenden, und es wäre nur der letzte Schritt in der Build-Toolchain, der das ausführbare Bit tatsächlich setzt.
Dies ist nicht speziell eine Go-Sache. Dies ist, was Compiler-Toolketten tun. Beachten Sie, dass ein Shell-Skript keine kompilierte ausführbare Datei ist. Deshalb müssen Sie das ausführbare Bit so einstellen, dass der Kernel beim Lesen der ersten Zeile weiß, dass er die Shell aufruft und den Skriptkörper an ihn weitergibt.