Bac*_*ach 1 python linux macos command-line batch-file
考虑这个设置和文件夹结构:
c:\foo
\bin\foo.bat
\lib\foo.py
Run Code Online (Sandbox Code Playgroud)
我有foo.bat路径添加到我的环境PATH,所以我可以从传递一些参数的任何地方调用它:
c:/>foo.bat -v
Run Code Online (Sandbox Code Playgroud)
foo.bat包含以下代码:
@ECHO OFF
"c:\foo\lib\foo.py" %1 %2 %3 %4 %5 %6 %7 %8 %9
Run Code Online (Sandbox Code Playgroud)
这在Windows中运行良好.
现在我希望能够在Mac或Linux中做同样的事情.
我怎样才能创建这个可执行文件,它将调用脚本lib\foo.py,传入一些参数?
谢谢
[解]
谢谢你们,你的答案帮助我最终得到了这个按预期工作的脚本:
在\ foo\bin\foo 文件中
#!/usr/bin/env bash
python /usr/local/foo/lib/foo.py $*
Run Code Online (Sandbox Code Playgroud)
你可以直接在mac/linux上调用python脚本,只需确保将你的python解释器放在第一行,例如文件foo:
#!/usr/bin/python
if __name__ == "__main__":
print 'bar'
Run Code Online (Sandbox Code Playgroud)
运行文件直接调用它来形成当前目录 ./foo
如果你想从任何地方访问,你可以把它放入/usr/local/bin,例如,只需确保该文件是可执行的(chmod +x foo).