1

我编写了一个 Python 程序来分析给定目录中存在的一组文件,即它要求一个路径,然后它进入路径目录并找到指定的文件,处理它们并生成一个输出文件。但是,每次我想在 UNIX 机器上执行程序时,我都必须编写python my_prog.py. 此外,要处理目录,必须先将程序复制到该目录,然后再执行。

我想这样做,以便在 UNIX 中我my_prog在任何目录中键入要执行的程序,这意味着摆脱将程序文件复制到目标目录。我怎样才能做到这一点?

4

2 回答 2

9

使您的程序可执行

chmod +x my_prog.py

#!/usr/bin/env python

(或其变体)放在源文件的顶部,并将 my_prog.py 脚本放入路径中的目录中(即,通常由环境变量定义的目录集中的某个位置,该PATH环境变量用于搜索要执行的命令执行)。

一旦您的程序在您的路径中,您将能够从任何地方执行它,即,无需将程序放在您的当前目录中或完全指定它的目录路径。

PATH您应该能够使用以下命令在大多数 shell中查看当前环境变量的值:

env | grep -i path

或者

echo $PATH

以防万一,这里有一些关于 PATH 变量的基本信息:http ://www.cs.purdue.edu/homes/cs348/unix_path.html和 http://kb.iu.edu/data/acar。 .html _ 谷歌将产生更多。希望这可以帮助。

于 2012-05-02T03:45:55.153 回答
2

与往常一样,添加一个shebang行,使其可执行,然后将其复制到$PATH.

于 2012-05-02T03:43:38.020 回答