我有一个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)))
但是,我也无法将任何选项传递给它。这个问题的最佳解决方案是什么?
答案 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脚本上。