仅使用程序名从命令行运行Python程序

时间:2017-08-21 17:08:44

标签: python linux bash scripting

我被要求制作一个解析令牌的python程序。

用法如下:

$ cat input.txt | program "some text %{0} and %{1S3}" > output.txt

但我能管理的最好的是:

$ cat input.txt | py program.py "some text %{0} and %{1S3}" > output.txt

或者如果我使脚本可执行,请删除文件扩展名,我在当前目录

$ cat input.txt | ./program "some text %{0} and %{1S3}" > output.txt

有没有办法让我用python脚本使用第一个例子的执行风格?理想情况下,我也可以从任何地方使用它,在指向包含程序的目录时不需要。

编辑:我试过这个:

这是我试过的 -

$ cd projects/token_parser/
$ ln -s grap /usr/local/bin/grap
ln: failed to create symbolic link '/usr/local/bin/grap': Permission denied
$ sudo ln -s grap /usr/local/bin/grap 
[sudo] password for fosssaintdross: 
$ grap
bash: grap: command not found

1 个答案:

答案 0 :(得分:1)

您需要确保包含program.py的位置位于PATH环境变量中。或者,您可以从列表中已有的路径链接到它,例如:

ln -s /path/to/program.py /usr/local/bin/program