如何通过命令行运行python脚本?

时间:2018-05-08 08:51:35

标签: python bash git shell command-line

我一直在研究bash和shell,并一直试图弄清楚Git如何在任何目录中运行其C脚本。我最近摆弄了环境变量,虽然这只是重定向你在该文件的位置运行脚本,再加上你有$。 Git如何将其脚本集成到终端中?我怎么能用python中的任意脚本做同样的事情?

在不知道正确术语的情况下很难找到任何信息,尽管这是我试图模仿像git这样的命令行系统。

我从我的主目录

中的文件夹中的命令文件开始
something.command 

里面的内容指向我一个python脚本。 e.g

cd
cd python_script_location
python3 script.py

然后我通过编辑.bash_profile来创建一个环境变量。

export pyinit=/Users/Charlkie/vcscmd/pyinit.command

这虽然只会在另一个目录中运行一个脚本。如何在当前目录中创建运行python脚本的终端命令?任何帮助将不胜感激:)

2 个答案:

答案 0 :(得分:0)

脚本无需切换工作目录。

事实上,编写良好的脚本通常根本不需要切换目录。

如果脚本需要访问配置文件或其他内容,一组常见的安排是允许用户通过环境变量配置文件的位置,然后回退到系统范围的标准位置,然后退回到目前的目录,作为最后的手段,也许可以通过argv[0](在shell脚本中$0)检查脚本的位置。

具体而言,something.command应该看起来像

exec python3 $HOME/python_script_location/script.py "$@"

...在这种情况下,您也可以使用适当的shebang(在这种情况下通常是$HOME/python_script_location/script.py)并且可能#!/usr/bin/env python3(假设ln -s $HOME/python_script_location/script.py $HOME/bin$HOME/bin可执行文件已经在PATH)上,或者alias something.command=$HOME/python_script_location/script.py,如果您只需要以交互方式使用它,并且在PATH中没有用于您自己的个人脚本的目录。

答案 1 :(得分:-1)

添加指向脚本的符号链接/ usr / bin。检查此问题如何操作:How to symlink a file in Linux? 使用哪个命令验证系统是否可以看到它。