আমার $ PATH- তে একটি সম্পূর্ণ ডিরেক্টরিের চেয়ে একটি এক্সিকিউটেবল যুক্ত করা কি সম্ভব?


9

আমি ওএসএক্সে এক্সএএমপিপি ইনস্টল করেছি এবং ডিফল্টরূপে এটি আমার নিজস্ব চলকটিতে bin( নিজস্ব বিভিন্ন ডিরেক্টরিতে পূর্ণ) নিজস্ব ডিরেক্টরিতে পথ প্রিন্ট করে $PATH:

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

পরিবর্তে দুর্ভাগ্যক্রমে, এর একটি ইউটিলিটি বলা হয় HEAD, যা ওএসএক্সের কেস-সংবেদনশীল ফাইল সিস্টেমকেhead ধন্যবাদ ইউনিক্স কমান্ডের সাথে সংঘর্ষে লিপ্ত হয় । এক্সএএমপিপি HEADসম্পূর্ণরূপে সম্পর্কিত নয় head(আমি মনে করি এটি একটি HTTP হেড অনুরোধ জারি করে)।

অবশ্যই, আমি উভয় headএবং এক্সএএমপিপি ব্যবহার করতে চাই , তাই আমি কেবল পথের পরিবর্তনশীল ক্রমটি পরিবর্তন করেছি:

export PATH="$PATH:$XAMPP_PHP"

এটি আমাকে ব্যবহার করতে দেয় headতবে এখন পিএইচপি এর এক্সএএমপিপি সংস্করণ (উদাহরণস্বরূপ, 5.5) এবং ওএসএক্স (5.3) এর সাথে আগত পিএইচপি-র পূর্ব-ইনস্টল সংস্করণটির মধ্যে একটি সংঘর্ষ রয়েছে। যেহেতু 5.3-এর পথটি প্রথম আসে তাই এটি অগ্রাধিকার গ্রহণ করে শেষ হয়।

হ্যাকিশ সমাধানের জন্য আমার পরিকল্পনাটি ছিল পুরো ফাইল পাথ + নামটি কেবলমাত্র এক্সএএমপিপি-র পিএইচপি-র সংস্করণটি প্রিপেন্ড করা , তারপরে বাকী পথটি যুক্ত করুন $PATH:

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

এটি কাজ করে বলে মনে হয় না। আমি যখন বাশ পুনরায় চালু করি এবং চেক করি তখন php -vএটি পিএইচপি 5.3 - অন্তর্নির্মিত সংস্করণে থাকে। $PATHআদৌ কোনও নির্দিষ্ট ফাইলের পথ যুক্ত করা কি সম্ভব ?


4
না, $PATHকেবলমাত্র ডিরেক্টরি নিয়ে গঠিত। আপনি কেবলমাত্র একটি বিদ্যমান ডিরেক্টরিতে আপনার বিশেষ নির্বাহযোগ্যকে সিমলিংক করতে পারেন $PATH
লারস্ক

উত্তর:


8

Assuming যে 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এবং সেগুলি প্রত্যাশা অনুযায়ী চলবে (আমার প্যাথের পূর্বে বিদ্যমান সিস্টেম কমান্ডগুলি ওভাররাইড না করে)।

আমি .শুরুতে .binরেখেছিলাম তাই ফাইন্ডারে ব্রাউজ করার সময় আমাকে ডিরেক্টরিটি দেখতে হবে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.