从命令行在MAC/Linux上调用Python脚本并传递参数
考虑一下这个设置和文件夹结构:
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 个回答
6
你可以直接在Mac或Linux上运行Python脚本,只需要确保在文件的第一行写上你的Python解释器,下面是一个示例文件foo:
#!/usr/bin/python
if __name__ == "__main__":
print 'bar'
要运行这个文件,你可以在当前目录下直接调用它,使用命令./foo
。
如果你想在任何地方都能访问这个脚本,可以把它放到/usr/local/bin
这个文件夹里。记得要确保这个文件是可执行的,使用命令chmod +x foo
来设置。
2
你没有明确说你用的是什么命令行工具,但假设你用的是GNU bash:
#!/usr/bin/env bash /path/to/lib/foo.py $*
请注意,你的脚本和foo.py都需要设置为可执行,这样才能以这种方式运行(这只需要做一个
chmod +x /path/to/your/script /path/to/lib/foo.py的操作)。