Mam XAMPP zainstalowany w OSX i domyślnie przygotowuje ścieżkę do własnego bin
katalogu (pełnego różnych narzędzi) do mojej $PATH
zmiennej:
# Add path to XAMPP PHP version
export XAMPP_PHP=/Applications/XAMPP/xamppfiles/bin
export PATH="$XAMPP_PHP:$PATH"
Niestety, nazywa się jedno z jego narzędzi HEAD
, które dzięki systemowi plików OSX bez rozróżniania wielkości liter koliduje z head
poleceniem Uniksa . XAMPP HEAD
jest całkowicie niezwiązany z head
(myślę, że wysyła żądanie HEAD HTTP).
Oczywiście chcę używać obu head
i XAMPP, więc po prostu zmieniłem kolejność zmiennych ścieżki:
export PATH="$PATH:$XAMPP_PHP"
To pozwala mi używać head
, ale teraz występuje kolizja między wersją PHP XAMPP (na przykład 5.5) a wstępnie zainstalowaną wersją PHP, która jest dostarczana z OSX (5.3). Ponieważ ścieżka do 5.3 jest na pierwszym miejscu, ostatecznie ma pierwszeństwo.
Mój plan na hackish rozwiązanie polegał na dodaniu pełnej ścieżki do pliku + nazwij po prostu wersję PHP XAMPP , a następnie dołącz resztę ścieżki po $PATH
:
export PATH="/Applications/XAMPP/xamppfiles/bin/php:$PATH:$XAMPP_PHP"
To nie wydaje się działać. Kiedy ponownie uruchamiam bash i sprawdzam php -v
, nadal działa na PHP 5.3 - wersja wbudowana. Czy w ogóle można w ogóle dodać określoną ścieżkę do pliku $PATH
?
$PATH
może składać się tylko z katalogów. Możesz po prostu dowiązać konkretny plik wykonywalny do istniejącego katalogu w twoim$PATH
.Odpowiedzi:
Zakładając, że
echo "$PATH"
pokazuje to/usr/local/bin
na twojej ścieżce i biorąc pod uwagę, że jest to Twój osobisty laptop:Utwórz dowiązanie symboliczne w
/usr/local/bin
tym punkcie do żądanego pliku wykonywalnego.Jeśli jest to komputer współużytkowany i nie chcesz wpływać na innych użytkowników, zalecamy skonfigurowanie niestandardowego rozszerzenia do ŚCIEŻKI w
~/.bash_profile
. Sam mam jeden:Następnie mogę umieścić moje niestandardowe dowiązania symboliczne, skrypty itp.
~/.bin
I będą działać zgodnie z oczekiwaniami (bez przesłaniania poleceń systemowych, które istnieją wcześniej w mojej ŚCIEŻCE).Stawiam
.
na początku,.bin
więc nie muszę widzieć katalogu podczas przeglądania w Finderze.źródło