使用shell脚本中的选项调用python函数

时间:2015-06-04 14:56:10

标签: python linux bash shell

我有一个python脚本,它从命令行中获取各种选项

e.g。

-runs with gui

python myscript.py -aut

-runs,无需用户提示

python myscript.py input.py

-runs,输入数据来自input.py

python myscript.py -aut input.py

- 以及上述的组合,例如自动从input.py

获取输入
export PATH=$PATH:/path/to/folder/above_myscript/

我希望能够从我的linux盒子上的任何地方调用它。我怎样才能做到这一点?我在我的.bashrc文件中尝试过别名,但是使用这种方法它无法接受任何输入选项。我也试过

#!/bin/bash #file: myscript.sh python '/path/to/folder/above_myscript/myscript.py'

但是如果我输入myscript而不是python myscript,这只会识别命令。显然只需键入myscript就无法运行python脚本。

我也尝试过编写一个我可以调用的shell脚本。

transform(data, result=grepl("[VG]{5,}", substr(string, 1, 20)))

但是,我也无法将任何选项传递给它。这个问题的最佳解决方案是什么?

2 个答案:

答案 0 :(得分:4)

如果您将#!/usr/bin/env python添加到 myscript.py 文件的顶部并在其上运行chmod +x myscript.py,您应该可以运行myscript.py而无需把python放在它前面。这可以让您使用之前的PATH更改方法。

答案 1 :(得分:0)

试试这个:

python /path/to/folder/above_myscript/myscript.py

或者这个:

cd /path/to/folder/above_myscript && python myscript.py

在你的shell脚本上。