Sha-bang行与手动调用脚本的结果不同

时间:2011-05-23 12:36:05

标签: python shell

我有一个Python脚本script.py,它被定义为可执行文件,以下面的sha-bang开头:

#!/usr/bin/env python -W all

但是当我从shell调用它时,这就是我得到的:

$ ./script.py 
/usr/bin/env: python -W all: No such file or directory

直接调用它可以:

$ env python -W all script.py
... some good stuff happens here

我在这里做错了什么?

1 个答案:

答案 0 :(得分:5)

在shebang线上,你只能得到一个参数。因此python -W all作为一个参数被传递给env。在命令行上,shell在调用env之前正确解析参数。