我编写了一个Python程序来分析给定目录中存在的一组文件,即它要求路径然后它进入路径目录并查找指定的文件,处理它们并生成输出文件。但是,每次我想在UNIX机器上执行程序时,我都必须编写python my_prog.py
。此外,要处理目录,必须首先将程序复制到目录,然后执行。
我想这样做,以便在UNIX中我在程序执行的任何目录中键入my_prog
,这意味着摆脱将程序文件复制到目标目录。我怎么能这样做?
答案 0 :(得分:9)
使用
使程序可执行chmod +x my_prog.py
把
#!/usr/bin/env python
(或其变体)位于源文件的顶部,并将my_prog.py脚本放入路径中的目录中(即,通常由PATH
环境定义的目录集中的某个位置搜索要执行的命令的变量。
一旦你的程序在你的路径中,你就可以从任何地方执行它,即,不必将程序放在当前目录中或完全指定它的目录路径。
您应该能够使用以下命令在大多数shell中查看当前PATH
环境变量的值:
env | grep -i path
或
echo $PATH
以防万一,这里有一些关于PATH变量的基本信息:http://www.cs.purdue.edu/homes/cs348/unix_path.html和 http://kb.iu.edu/data/acar.html。谷歌将会产生更多。希望 这有帮助。
答案 1 :(得分:2)
与往常一样,添加shebang行,将其设为executable,然后将其复制到$PATH
中的目录。