为不同 OS 工作的多个 shebang

Multiple shebangs to work for different OS

有没有办法让我拥有多个 shebang?

所以我可以在 Ubuntu 上调用 #!/usr/bin/env python3,但 MacOS 似乎没有等效项,我想在它上面调用 #!/usr/bin/python3

那么是否可以这样做:

#!/usr/bin/env python3
#!/usr/bin/python3

我们不能有多个 shebang 行 - 只能有一个,它应该始终是第一行。

如果您需要支持基于 OS 的 Python 的多个版本,最好编写一个小的 shell 包装器来调用您的 python 脚本正确的解释器,可能带有 exec.

macOS 确实有 /usr/bin/env.


看到这个post:

  • Why should the shebang line always be the first line?