আমার পথে এক্সিকিউটেবল ফাইল যুক্ত করতে /etc/paths.d কীভাবে ব্যবহার করবেন?


15

আমি আমার পাথের পরিবর্তনশীলটিতে একটি এক্সিকিউটেবল যোগ করার জন্য /etc/paths.d ব্যবহার করার চেষ্টা করছি তবে এখনও পর্যন্ত আমার কোনও সাফল্য নেই।

এক্সিকিউটেবল ফাইলের সম্পূর্ণ পথ হ'ল: /opt/ImageMagick/bin/convert

/etc/paths.d এ দুটি ফাইল রয়েছে: 40-এক্সকিয়ার্জ এবং ইমেজম্যাগিক

40-এক্সকোয়াজার্টে একটি লাইন রয়েছে: /opt/X11/bin
চিত্রম্যাগিকের একটি লাইন রয়েছে:/opt/ImageMagick/bin

আমার echo $PATHদেয়:

/Users/Administrator/.rbenv/shims:/Users/Administrator/.rbenv/bin:/Users/Administrator/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin

সুতরাং দেখে মনে হচ্ছে যে কেবল প্রথম ফাইল (40-XQuartz) এর কাজ করে। দুটি ফাইলের অনুমতি (40-XQuartz এবং ইমেজম্যাগিক) হুবহু একই তাই আমার প্রশ্নটি কেন প্রথমটি কাজ করে এবং দ্বিতীয়টি কেন নয়।

আমি ওএস এক্স মাভারিক্স চালাচ্ছি।


আপনি কোন শেল ব্যবহার করবেন? / ইত্যাদি / পাথ সম্পর্কে কি?
ম্যাক্স রিড

/etc/paths.dআমার পক্ষে কাজ করার জন্য কঠোরভাবে যুক্ত করা , তবে নতুন পথটি কার্যকর হওয়ার জন্য আমি যে কোনও টার্মিনাল অ্যাপ্লিকেশনটি ব্যবহার করছি (আমার ক্ষেত্রে ITerm2) পুনরায় চালু করব
ব্যবহারকারী 1256923

উত্তর:


17

ইমেজম্যাগিকের জন্য নতুন ফাইল যুক্ত করার পরে আপনি কি নতুন লগইন শেল শুরু করেছেন? paths.dএন্ট্রিগুলি থেকে পাথের সেটিংটি সম্পন্ন হয় /etc/profileএবং /etc/csh.loginতাই নতুন এন্ট্রি কার্যকর হওয়ার জন্য আপনাকে একটি নতুন শেল শুরু করতে হবে।

ওএস এক্স path_helperফাইলগুলির উপর ভিত্তি করে পাথ সেট করতে ব্যবহার করে /etc/paths.d- আপনি সর্বদা এটি ম্যানুয়ালি কল করতে পারেন (এখানে বোর্নের মতো শেল ধরে):

$ eval `/usr/libexec/path_helper -s`

অবশ্যই আমি একটি নতুন শেল শুরু করেছি I এমনকি আমি আমার ম্যাকটি পুনরায় শুরু করেছি।
স্কাইবক্স 17

নতুন লগইন শেলটি আমার জন্য কাজ করেছে
ভাস্বরত্ববিদ

3

চলমান

echo /opt/ImageMagick/bin|sudo tee /etc/paths.d/ImageMagick;bash -l;echo $PATH

যোগ /opt/ImageMagick/binকরার জন্য PATHআমার ইনস্টলেশনের উপর।

আপনি কি PATHঅন্য কোনও জায়গায় ওভাররাইড করছেন ~/.bash_profile?

এর মধ্যে যে পথগুলি চালিত হয়েছে , সেগুলির /etc/paths.d/সাথে রাস্তাগুলি যুক্ত হয় এবং । গ্রাফিকাল অ্যাপ্লিকেশন দ্বারা চালিত হয় না বা বাশ যখন লগ-ইন না করা শেল হিসাবে ডাকে।/usr/libexec/path_helper/etc/profile/etc/zsh.env/etc/csh.loginpath_helper

এছাড়াও আপনি একটি ডিফল্ট সেট করতে পারেন PATHমধ্যে /etc/launchd.conf:

  1. উদাহরণস্বরূপ চালান setenv PATH /Users/Administrator/.rbenv/shims:/Users/Administrator/.rbenv/bin:/Users/Administrator/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/opt/ImageMagick/bin|sudo tee -a /etc/launchd.conf
  2. হয় পুনরায় চালু করুন, অথবা চালান launchctl</etc/launchd.conf;sudo launchctl</etc/launchd.confএবং পুনরায় চালু প্রক্রিয়া।

আমি পথ বদলাতে পছন্দ করি /etc/launchd.conf, কারণ এটি প্রোগ্রামগুলিকেও প্রভাবিত করে যা শেল থেকে শুরু হয় না, যেমন পাঠ্য সম্পাদক এবং প্রবর্তিত কাজ দ্বারা শুরু করা প্রোগ্রামগুলি।


0

দুর্দান্ত, আমি আমার ম্যাকটিতে ইমেজম্যাগিক যোগ করার সাথে সাথে খেলছিলাম। কেবল আপনার মধ্যেই আপনার প্রয়োজন নেই ImageMagick/bin, আপনার PATHপরিবেশের পরিবর্তনশীল সেটও প্রয়োজন, বা এতে যুক্ত হওয়া:

পরীক্ষা করার জন্য আপনি এটিকে ম্যানুয়ালি তৈরি করতে পারেন:

export DYLD_LIBRARY=".:/opt/ImageMagic/lib"

ম্যাক ওএসের জন্য পরিবেশের ভেরিয়েবল সেট করার তথ্য এখানে পাওয়া যাবে, ওএস এক্সে পরিবেশের ভেরিয়েবল সেট করা?

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