为什么在bash脚本中嵌入repo命令?

nee*_*dle 6 python bash android

我正在调查repo(来自Android项目)的源代码.它从以下开始:

#!/bin/sh
magic='--calling-python-from-/bin/sh--'
"""exec" python -E "$0" "$@" """#$magic"
Run Code Online (Sandbox Code Playgroud)

如果我理解得很好,那就意味着脚本正在用python回忆起来.所以有我的问题,为什么不直接使用python.

例如,我通常使用类似的东西:

#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)

我认为有一个很有价值的理由,但我无法弄清楚.

谢谢

js.*_*js. 4

来自repo人员的回答:Purpose of embedding Repo python code into bash script

  • 虽然这解释了它的作用和工作原理(都很有趣),但它并没有解释为什么不使用更简单的“env”技巧。 (2认同)