Очевидно, что эта оболочка script вызывает себя как Python script:
#!/bin/sh
## repo default configuration
##
REPO_URL='git://android.git.kernel.org/tools/repo.git'
REPO_REV='stable'
magic='--calling-python-from-/bin/sh--'
"""exec" python -E "$0" "[email protected]" """#$magic"
if __name__ == '__main__':
import sys
if sys.argv[-1] == '#%s' % magic:
del sys.argv[-1]
del magic
:
:
(Целый script: https://android.googlesource.com/tools/repo/+/v1.0/repo)
Может кто-нибудь объяснить
-
цель назвать его таким образом?
Почему бы не иметь#!/usr/bin/env python
в первой строке, чтобы он интерпретировался как Python script с самого начала? -
цель добавления последнего аргумента командной строки магии, который впоследствии удаляется в начале кода Python?