"যেখানে" এবং "যা" ম্যাক ওএস এক্সে বিভিন্ন পাথ ফিরে আসে


27

আমি ডিফল্ট ওপেনএসএসএল 9.8 (ম্যাক ওএস এক্স 10.6.8) পেয়েছি এবং ম্যাকপোর্টস ( sudo port install openssl) এর মাধ্যমে নতুন সংস্করণ (1.0.0) ইনস্টল করার সিদ্ধান্ত নিয়েছি ।

এগুলো কনসোল আউটপুট হয় যা এবং whereis কমান্ড:

$ whereis openssl
/usr/bin/openssl

(এটি ডিফল্ট সিস্টেমের একটি)

$which openssl
/opt/local/bin/openssl

(এটি ম্যাকপোর্টের মাধ্যমে ইনস্টল করা আছে)

$ openssl version
OpenSSL 1.0.1c 10 May 2012

(PATH এ ম্যাক পোর্টের সংস্করণ রয়েছে)

কেন বিভিন্ন পাথ ফিরে করছে whereisএবং which, এবং এই ঠিক আছে? সমান ফলাফল পাওয়ার কোনও উপায় আছে কি?

উত্তর:


31

এর ম্যানপেজে whereisএটি স্পষ্টভাবে বলেছে (আমার উপর চাপ দেওয়া):

যেখানে ইউটিলিটি নির্দিষ্ট প্রোগ্রামগুলির জন্য স্ট্যান্ডার্ড বাইনারি ডিরেক্টরিগুলি পরীক্ষা করে , এটির যে কোনও পাথ খুঁজে বের করে printing

সন্ধান করা পথটি হ'ল ys `user.cs_path '' স্ট্রিংয়ের জন্য সিস্টেটি (8) ইউটিলিটি দ্বারা ফিরে আসা স্ট্রিং

এর বিপরীতে, whichআপনার ব্যবহারকারীর পথের জন্য বাইনারি কোথায় রয়েছে তা যাচাই করার জন্য সাধারণত সেই সরঞ্জামটি ব্যবহৃত হয়।

এই ইউটিলিটিটি কমান্ডের নামের তালিকা নিয়েছে এবং প্রতিটি এক্সিকিউটেবল ফাইলের জন্য পাথ অনুসন্ধান করে যা এই কমান্ডগুলি প্রকৃতপক্ষে অনুরোধ করা হত

এটি আপনার পার্থক্যের ব্যাখ্যা দেয়, যেহেতু /opt/local/binকোনও সিস্টেম-প্রশস্ত "স্ট্যান্ডার্ড" পাথ নয় all সর্বোপরি, ম্যাকপোর্টস একটি সম্পূর্ণ optionচ্ছিক ইনস্টলেশন — এবং sysctlকেবলমাত্র /usr/bin:/bin:/usr/sbin:/sbinএটির user.cs_pathপ্রতি ডিফল্ট থাকে default

সাধারণভাবে, ব্যবহারের চেয়ে বাইনারিটি আটকে থাকুন whichবা which -aসন্ধান করুন whereis


আপনি তাত্ত্বিকভাবে এর user.cs_pathমাধ্যমে পরিবর্তন করতে পারেন

sysctl -w user.cs_path=/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

তবে আমি জানি না যে এটি এত ভাল ধারণা।


ধন্যবাদ, আপনি হাইলাইট করেছেন যে "এর সাথে ইউটিলিটি স্ট্যান্ডার্ড বাইনারি ডিরেক্টরিগুলি পরীক্ষা করে " - এটি উত্তর! ক্ষুদ্র খ্যাতির
কারণটির

চিন্তা করবেন না, আপনি অবশ্যই খুব শীঘ্রই আরও খ্যাতি পাবেন। সুপার ব্যবহারকারীকে স্বাগতম! :)
slhck

ওএস এক্স-এ পিএসকিএল-তে একই সমস্যা রয়েছে - দুর্ভাগ্যক্রমে user.cs_path লিখনযোগ্য নয়। যদিও আমার সমাধানের কাছাকাছি আসছি, এই জাতীয় একটি দরকারী উত্তরের জন্য ধন্যবাদ!
ব্যবহারকারী 208769
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.