我被要求制作一个解析令牌的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
最佳答案
您需要确保包含program.py
的位置在PATH
环境变量中。或者,可以从列表中已有的路径链接到它,例如:
ln -s /path/to/program.py /usr/local/bin/program