考虑这个设置和文件夹结构:
c:\foo
\bin\foo.bat
\lib\foo.py
我将foo.bat路径添加到我的环境PATH中,所以我可以从任何传递一些参数的地方调用它:
c:/>foo.bat -v
foo.bat包含以下代码:
@ECHO OFF
"c:\foo\lib\foo.py" %1 %2 %3 %4 %5 %6 %7 %8 %9
这在Windows中运行良好。
现在我希望能够在Mac或Linux上做同样的事情。
如何创建这个可执行文件,调用脚本lib \ foo.py,传入一些参数?
感谢
[溶液]
谢谢你们,你的回答帮助我最终得到了这个按预期工作的脚本:
在\ foo \ bin \ foo 文件
#!/usr/bin/env bash
python /usr/local/foo/lib/foo.py $*
答案 0 :(得分:6)
你可以直接在mac / linux上调用python脚本,只需确保将你的python解释器放在第一行,例如文件foo:
#!/usr/bin/python
if __name__ == "__main__":
print 'bar'
运行文件使用./foo
如果您想从任何地方访问,例如,只需确保该文件可执行(/usr/local/bin
)。
答案 1 :(得分:2)
你没有明确说明你选择的shell是什么,但假设它是GNU bash:
#!/usr/bin/env bash /path/to/lib/foo.py $*
请注意,shell脚本和foo.py都需要将执行位设置为以这种方式运行(只有
chmod +x /path/to/your/script /path/to/lib/foo.py)。