2010-07-07 88 views
1

我想提出以下參考:爲腳本創建參考

例如,「ls」命令在大多數* nix環境中都可用。用戶可以從任何地方輸入以執行腳本。

所以,我寫腳本「x」。我想確保從用戶鍵入x的任何地方引用實際的腳本「x」。

因此,如果我有劇本「X」存儲在家庭/用戶/桌面目錄,我不應該引用腳本如下:

home/user/Desktop/x 

我應該能夠做到:

x 

謝謝!

回答

2

您想將目錄添加到您的PATH。例如。

PATH="$PATH:/home/user/someDirectory" 

您可以將此行添加到.bash_profile以在啓動時執行此操作。但是,您可能不應該將Desktop添加到路徑中,因爲默認情況下某些瀏覽器會下載到該路徑(儘管默認情況下它不應該是可執行的)。

1

您也可以將您的腳本放入已存在於路徑中的現有目錄中,例如/usr/local/bin,或者在腳本的位置創建一個符號鏈接。

cp /home/user/Desktop/x /usr/local/bin 

mv /home/user/Desktop/x /usr/local/bin 

ln -s /home/user/Desktop/x /usr/local/bin 
0

不要吝嗇是令人討厭的重複,但是這是我第一次回答一個問題,我不能回答的人是已經 - 好的答案,我認爲他們錯過了一些重要的部分。

首先,如果你想確保每個人都可以訪問該腳本,你需要確保每個人都有執行權限:

chmod a+x /path/to/script.sh 

你還需要確保它在某處$ PATH引用(如提到的其他答案):

echo $PATH # place the script in one of these directories 

我個人比較喜歡的/ usr/local/bin目錄,因爲這是被認爲地方自定義全局腳本。其他答案沒有提到的是,如果你想要使用$ PATH中的一個目錄(比如/ opt/myscriptfolder /),你需要在/ etc/profile結尾處添加另一個PATH條目:

PATH="$PATH:/opt/myscriptfolder/" 

通過將此置於/ etc/profile的末尾,所有用戶將在其下次登錄時收到此修改的PATH變量。