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

D-B*_*Bug 2 python macos

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

python /Users/xyz/long/absolute/path/to/script.py arg1 arg2
Run Code Online (Sandbox Code Playgroud)

由于脚本的位置可能会发生变化,因此我想将其他脚本和launchd配置文件与实际位置分离,以便对脚本的调用看起来像

script arg1 arg2
Run Code Online (Sandbox Code Playgroud)

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

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

Mar*_*iek 6

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

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

ln -s /Users/xyz/long/absolute/path/to/script.py /usr/bin/script.py
Run Code Online (Sandbox Code Playgroud)

如果您接受Rory的建议并将#!/ usr/bin/python放在脚本的开头,那么您还需要使脚本可执行.

chmod a+x /Users/xyz/long/absolute/path/to/script.py
Run Code Online (Sandbox Code Playgroud)