Path
是否可以將單個執行檔而不是整個目錄添加到我的 $PATH 中?
我在 OSX 中安裝了 XAMPP,預設情況下,它會將自己的
bin
目錄(充滿各種實用程序)的路徑添加到我的$PATH
變數中:# Add path to XAMPP PHP version export XAMPP_PHP=/Applications/XAMPP/xamppfiles/bin export PATH="$XAMPP_PHP:$PATH"
不幸的是,它的一個實用程序被稱為
HEAD
,由於 OSX 不區分大小寫的文件系統,它與 Unixhead
命令衝突。XAMPP與(我認為它發出 HTTP HEAD 請求)HEAD
完全無關。head
當然,我想同時使用
head
和XAMPP,所以我簡單地更改了路徑變數順序:export PATH="$PATH:$XAMPP_PHP"
這讓我可以使用
head
,但現在 XAMPP 的 PHP 版本(例如 5.5)和 OSX 附帶的預裝 PHP 版本(5.3)之間存在衝突。由於通向 5.3 的路徑是第一位的,因此它最終佔了上風。我的 hackish 解決方案計劃是在 XAMPP 的 PHP 版本前面加上完整的文件路徑+名稱,然後在後面附加路徑的其餘部分
$PATH
:export PATH="/Applications/XAMPP/xamppfiles/bin/php:$PATH:$XAMPP_PHP"
這似乎不起作用。當我重新啟動 bash 並檢查
php -v
時,它仍然在 PHP 5.3 - 內置版本上。甚至可以添加特定的文件路徑$PATH
嗎?
假設這
echo "$PATH"
顯示/usr/local/bin
在您的路徑中,並且這是您的個人筆記型電腦:在其中創建一個
/usr/local/bin
指向您想要的執行檔的符號連結。ln -s /Applications/XAMPP/xamppfiles/bin/php /usr/local/bin/php
如果它是共享電腦並且您不想影響其他使用者,我建議您在
~/.bash_profile
. 我自己有一個:$ grep PATH ~/.bash_profile export PATH="$PATH:$HOME/.bin"
然後我可以將我的自定義符號連結、腳本等放入
~/.bin
其中,它們將按預期執行(不會覆蓋我的 PATH 中早先存在的系統命令)。我將 放在
.
開頭,.bin
因此在 Finder 中瀏覽時不必查看目錄。