2009-05-21 47 views
2

我正在使用Mac OS X,並且我有一個Python腳本,它將被其他腳本和程序(特別是Apple的launchd)調用。我可以如何爲Python腳本定義系統範圍的別名?

python /Users/xyz/long/absolute/path/to/script.py arg1 arg2 

稱它爲由於腳本的位置可能會改變,我想從實際位置脫鉤其他腳本和launchd的配置文件,這樣對腳本調用看起來像

script arg1 arg2 

在$ HOME/.bash_profile中定義Bash的別名不起作用,因爲launchd不知道別名。

什麼是定義「系統範圍別名」或類似的東西的最佳方式?

回答

6

我通常做一個符號鏈接,並把它在/ usr/bin中(假設在/ usr/bin目錄的路徑的一部分)

(在終端,你可能需要使用須藤LN -s根據權限。

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

如果你把Rory's advice並把#!的/ usr/bin中/蟒蛇在腳本的開始,你還需要使腳本可執行。

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

好主意。也把#在/ usr/bin中/ Python的第一線,以使其可執行,但我仍然獲得了 在/ usr/bin中/腳本:!權限被拒絕 如果我叫>腳本 我在做什麼錯?我需要手動修改它嗎? – 2009-05-21 15:46:48

+1

是的,你需要對它做一個chmod。我用一個例子編輯 – 2009-05-21 15:51:16

3

除了做一個符號鏈接,你可以把「#!/path/to/python「,並將其設置爲executabe,然後不必使用」python /Users/big/long/path/script.py「來調用它。