如何为Python脚本定义系统范围的别名?

时间:2009-05-21 15:27:02

标签: python macos

我正在使用Mac OS X,我有一个Python脚本,将被其他脚本和程序(特别是Apple推出)调用。我可以用

来调用它
python /Users/xyz/long/absolute/path/to/script.py arg1 arg2

由于脚本的位置可能会发生变化,我想将其他脚本和launchd配置文件与实际位置分离,以便对脚本的调用如下所示

script arg1 arg2

在$ HOME / .bash_profile中为Bash定义别名不起作用,因为launchd不知道别名。

定义“系统范围别名”或等效别名的最佳方法是什么?

2 个答案:

答案 0 :(得分:6)

我通常会创建一个符号链接并将其放在/ usr / bin中(假设/ usr / bin是PATH的一部分)

(在终端中。您可能必须使用 sudo ln -s ,具体取决于权限。

ln -s /Users/xyz/long/absolute/path/to/script.py /usr/bin/script.py

如果您使用Rory's advice并将#!/ usr / bin / python放在脚本的开头,则还需要使脚本可执行。

chmod a+x /Users/xyz/long/absolute/path/to/script.py

答案 1 :(得分:3)

除了执行符号链接之外,您还可以在脚本的开头添加“#!/ path / to / python”并使其成为可执行文件。然后你不必用“python /Users/big/long/path/script.py”来调用它。