为什么python shebang不会超过三个参数?

时间:2013-06-27 23:34:16

标签: python bash shebang

我正在尝试运行带有几个参数的python脚本,选项卡警告,优化 和详细参数,分别为-t-O-v
    #!/usr/bin/python -t -O -v
这是我尝试以这种方式运行时出现的错误,./ script.py中的错误 终端点。

Unknown option: - usage: /usr/bin/python [option] ... [-c cmd | -m mod | file | -] [arg] ... Try python -h' for more information.

当我在shebang中有一个最多的参数时,脚本运行良好。 在python shebang中传递多个参数是错误的吗?
运行脚本为 python -O -t -v script.py在终端工作。

我猜这是一个python问题因为我有一个perl脚本具有以下内容 shebang #!/usr/bin/perl -w -t它运行正常。

我提出的唯一解决方法是创建一个python_runner.sh脚本来调用 python解释器有三个参数:

#!/bin/sh
python -O -t -v $1

1 个答案:

答案 0 :(得分:2)

假设该文件名为test.py,并以shebang:

开头
#!/usr/bin/python -t -O -v

然后调用./test.py将等同于命令

/usr/bin/python '-t -O -V' ./test.py

第一个空格之后的所有内容都被视为一个单独的参数,这就是为什么你只能在一个shebang中提供一个参数。幸运的是,您可以将短信链接到-tOv