$ PATH'ımın tamamına dizinin tamamı yerine tek bir yürütülebilir dosya eklemek mümkün müdür?


9

OSX'te yüklü XAMPP var ve varsayılan olarak kendi bindizininin yolunu (çeşitli yardımcı programlarla dolu) benim $PATHdeğişkenime ekler:

# Add path to XAMPP PHP version
export XAMPP_PHP=/Applications/XAMPP/xamppfiles/bin
export PATH="$XAMPP_PHP:$PATH"

Ne yazık ki, yardımcı programlarından biri çağrılır HEAD, bu da OSX'in büyük / küçük harf duyarsız dosya sistemi sayesinde Unix headkomutuyla çarpışır . XAMPP's HEADtamamen ilgisiz head(Bence bir HTTP HEAD isteği yayınlar).

Tabii ki, hem headXAMPP hem de kullanmak istiyorum , bu yüzden sadece yol değişken sırasını değiştirdim:

export PATH="$PATH:$XAMPP_PHP"

Bu benim kullanmama izin veriyor head, ancak şimdi XAMPP'nin PHP sürümü (örneğin 5.5) ile PHP'nin OSX (5.3) ile birlikte gelen önceden yüklenmiş sürümü arasında bir çakışma var. 5.3'e giden yol önce geldiğinden, öncelik kazanır.

Keskin bir çözüm için planım tam dosya yolunu + adının sadece XAMPP'nin PHP sürümünü takmak , sonra da yolun geri kalanını eklemekti $PATH:

export PATH="/Applications/XAMPP/xamppfiles/bin/php:$PATH:$XAMPP_PHP"

Bu işe yaramıyor gibi görünüyor. Bash'ı yeniden php -vbaşlattığımda ve kontrol ettiğimde , hala PHP 5.3'te - yerleşik sürüm. Belirli bir dosya yolu eklemek bile mümkün müdür $PATH?


4
Hayır, $PATHyalnızca dizinlerden oluşabilir. İstediğiniz yürütülebilir dosyayı, dizininizdeki mevcut bir dizine kolayca bağlayabilirsiniz $PATH.
larsks

Yanıtlar:


8

Yolunuzda echo "$PATH"gösterildiğini /usr/local/binve bunun kişisel dizüstü bilgisayarınız olduğunu varsayarsak :

/usr/local/binİstediğiniz yürütülebilir dosyayı işaret eden bir simge bağlantısı oluşturun .

ln -s /Applications/XAMPP/xamppfiles/bin/php /usr/local/bin/php

Paylaşılan bir bilgisayarsa ve diğer kullanıcıları etkilemek istemiyorsanız, içinde PATH'nize özel bir uzantı ayarlamanızı öneririz ~/.bash_profile. Bir tane kendim var:

$ grep PATH ~/.bash_profile 
export PATH="$PATH:$HOME/.bin"

Daha sonra özel sembollerimi, komut dosyalarımı vb. Koyabilirim ~/.binve beklendiği gibi çalışırlar (PATH'ımda daha önce var olan sistem komutlarını geçersiz kılmadan).

.Başlangıcını koydum, .binböylece Finder'da gezinirken dizini görmek zorunda değilim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.