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

时间:2010-08-16 09:44:05

标签: python linux macos command-line batch-file

考虑这个设置和文件夹结构:

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 $*

2 个答案:

答案 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
)。