क्या एक सम्पूर्ण निर्देशिका के बजाय एक एकल निष्पादन योग्य जोड़ना संभव है, मेरी $ PATH के लिए?


9

मेरे पास एक्सएएमपीपी ओएसएक्स में स्थापित है, और डिफ़ॉल्ट रूप से यह binमेरी $PATHचर के लिए अपनी खुद की निर्देशिका (विभिन्न उपयोगिताओं से भरा) के लिए पथ को प्रस्तुत करता है :

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

बल्कि दुर्भाग्य से, इसकी उपयोगिताओं में से एक को कहा जाता है HEAD, जो OSX के केस-असंवेदनशील फाइल सिस्टम के लिए धन्यवाद, यूनिक्स headकमांड से टकराता है । XAMPP का HEADसंबंध पूरी तरह से असंबंधित है head(मुझे लगता है कि यह HTTP HEAD अनुरोध जारी करता है)।

बेशक, मैं headऔर XAMPP दोनों का उपयोग करना चाहता हूं , इसलिए मैंने बस पथ चर क्रम को बदल दिया है:

export PATH="$PATH:$XAMPP_PHP"

यह मुझे उपयोग करने देता है head, लेकिन अब XAMPP के PHP के संस्करण (उदाहरण के लिए, 5.5) और OSX (5.3) के साथ आने वाले PHP के पूर्वस्थापित संस्करण के बीच टक्कर है। चूँकि 5.3 का रास्ता पहले आता है, यह पूर्ववर्तीता को समाप्त करता है।

हैकिश समाधान के लिए मेरी योजना पूरी फ़ाइल पथ + नाम को बस PHP के XAMPP के संस्करण के लिए तैयार करना था , उसके बाद शेष पथ को संलग्न करें $PATH:

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

इससे काम नहीं लगता है। जब मैं बैश और चेक को पुनरारंभ करता हूं php -v, यह अभी भी PHP 5.3 पर है - अंतर्निहित संस्करण। क्या किसी विशिष्ट फ़ाइल पथ को जोड़ना संभव है $PATH?


4
नहीं, $PATHकेवल निर्देशिका शामिल हो सकती है। आप बस उस विशेष निष्पादन योग्य को सहानुभूति दे सकते हैं जिसे आप अपने मौजूदा निर्देशिका में चाहते हैं $PATH
लार्क्स

जवाबों:


8

यह मानते हुए कि आपके मार्ग में, और यह echo "$PATH"दिखाया /usr/local/binगया है कि यह आपका निजी लैपटॉप है:

/usr/local/binआप चाहते हैं कि निष्पादन योग्य करने के लिए उस बिंदु में एक सिमलिंक बनाएँ ।

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

यदि यह एक साझा कंप्यूटर है और आप अन्य उपयोगकर्ताओं को प्रभावित नहीं करना चाहते हैं, तो मैं आपके PATH में एक कस्टम एक्सटेंशन स्थापित करने की सलाह देता हूं ~/.bash_profile। मेरे पास खुद है:

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

फिर मैं अपने कस्टम सिम्बलिंक, स्क्रिप्ट आदि डाल सकता हूं ~/.binऔर वे उम्मीद के मुताबिक चलेंगे (बिना सिस्टम कमांड को ओवरराइड किए जो पहले मेरे पेटीएम में मौजूद हैं)।

मैंने खोज .शुरू की .binतो मुझे खोजक में ब्राउज़ करते समय निर्देशिका देखने की आवश्यकता नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.