make#!/ usr / bin / env python

这个问题在这里已经有了答案:

  • 用“#!/ usr / bin / env python”9个答案不能传递参数给python

  • 我会使用以下内容:

    #!/bin/sh
    """true"
    exec python -u "$0" "$@"
    """
    # python code goes here
    

    """true"将被sh解析为true ,因为它由一个空的""字符串和后面的"true" 。 由于true是无操作命令,因此它将被有效忽略,并且以下行将执行Python解释器。

    另一方面,Python将非常不同地解析"""true"行,因为打开一个以true"开头的三引号字符串,并且在下面两行关闭。由于该字符串不用于任何事情,Python解释器将有效地忽略启动Python的shell代码片段,这是"""xxx"解释中的差异,它允许Python和sh代码在同一个脚本中共存。

    对于一个简单的测试,附加如下内容:

    import sys
    print "hello!", sys.argv
    

    给定一个合理的sh实现(并考虑到启动Python的时间),这应该不会比使用env慢得多。

    链接地址: http://www.djcxy.com/p/46415.html

    上一篇: make #!/usr/bin/env python

    下一篇: shebang env preferred python version