我正在开发一个环境,我必须自己调用我的python脚本:./myscript.py
而不是python-2.4 -m trace -t /myscript.py
。
所以,我尝试在下面的shebang中添加参数:
#!/usr/bin/python-2.4 -m trace -t
print "HELLO"
print "HW"
但是我收到了以下错误消息:
/usr/bin/python-2.4: module trace -t not found
在Python中有可能吗?我不想在我的脚本中处理这个跟踪模块。
答案 0 :(得分:1)
在大多数平台上,尤其是Linux,都无法做到这一点。 POSIX标准仅要求shebang支持单个命令行选项。这可能意味着参数被截断,但它也可能导致所有选项作为单个选项传递,就好像它们包含在引号中一样。
实现此目的的最简单方法是创建一个额外的包装器。例如:
#!/bin/bash
/usr/bin/python-2.4 -m trace -t ./myscript.py