我有一个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
我在这里做错了什么?
答案 0 :(得分:5)
在shebang线上,你只能得到一个参数。因此python -W all
作为一个参数被传递给env
。在命令行上,shell在调用env
之前正确解析参数。