从命令行调用MAC/Linux上的python脚本 - 传递参数

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)

dei*_*eif 6

你可以直接在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).