সাধারণ ক্ষেত্রে আপনি ডিফল্ট আদেশগুলি মোটেও প্রতিস্থাপন করতে পারবেন না (বা হওয়া উচিত নয় )। কারণটি হ'ল অনেকগুলি সিস্টেম প্রশাসনের স্ক্রিপ্ট এবং তৃতীয় পক্ষের প্যাকেজগুলি সম্ভবত ওএস এক্স-এর বাক্স থেকে বেরিয়ে আসা আচরণ করতে এই আদেশগুলি উপর নির্ভর করে
সুতরাং আপনি যদি কেবলমাত্র সিস্টেম কমান্ডগুলি মুছে ফেলে এবং বেমানান আচরণ বা কমান্ড লাইন যুক্তিযুক্ত GNU সমতুল্যদের সাথে প্রতিস্থাপন করেন তবে এটি সম্ভবত কিছুটা ভেঙে দেবে। বিশেষত যদি আপনি লিনাক্স বা বিএসডি চালানোর জন্য নকশাকৃতভাবে ম্যাক ওএস এক্সে "পোর্ট করা" এমন কিছু সফ্টওয়্যার ব্যবহার করেন, কারণ এই ধরণের প্রোগ্রামগুলি ওএস এক্স এপিআইগুলিকে কল করার বিরোধিতা করে শেল স্ক্রিপ্ট এবং সিস্টেম কমান্ডের উপর নির্ভর করে।
আপনি যা করতে পারেন তা হল একটি পরিবেশ ইনস্টল করা যা ডিফল্টগুলি ওভাররাইট না করে অন্য ডিরেক্টরিতে GNU ইউটিলিটিগুলি ইনস্টল করে এবং তারপরে আপনার PATH
পরিবেশ পরিবর্তনশীলকে সামঞ্জস্য করে যাতে এটি সিস্টেম ডিরেক্টরি অনুসন্ধান করার আগে GNU ডিরেক্টরিতে প্রাপ্ত কমান্ডগুলিকে অগ্রাধিকার দেয়। আপনি এটিকে তারে যুক্ত করতে পারেন যাতে আপনি যদি কোনও ইন্টারেক্টিভ শেল শুরু করে থাকেন তবে এটি কেবল আপনার প্যাথটিকে সেট করে; আপনি কী করতে চান তা গুগল করতে পারেন bash
বা এসইউতে অন্য প্রশ্ন জিজ্ঞাসা করতে পারেন (বা এটি অনুসন্ধান করুন, যেহেতু এটি সম্ভবত আগে জিজ্ঞাসা করা হয়েছিল) আপনি যদি এটি করতে চান তবে।
যেমন একটি পরিবেশের উদাহরণ হোমব্রু উদাহরণস্বরূপ sed
অন্যান্য জিনিসের মধ্যে জিএনইউ রয়েছে। একবার হোমব্রিউ ইনস্টল হয়ে গেলে আপনি টাইপ করতে পারেন
brew install coreutils
এবং GNU Coreutils ইনস্টল করুন । এই সাথে আপনি উপলব্ধ হবে sed
, date
, printf
, wc
এবং যে জিএনইউ / লিনাক্স, কিন্তু না OS X এর তবে সঙ্গে জাহাজ, "ওভাররাইড" ডিফল্ট OS X এর বাইনারি তাই নয় অনেক অন্যান্য সরঞ্জাম, তারা পূর্বে সমাধান করা হবে g
ডিফল্টরূপে। সুতরাং, Coreutils ইনস্টল করার পরে, আপনি GNU সেড ব্যবহার করতে চান, টাইপ করুন
gsed
এটি প্রতিবার টাইপ করার ক্ষেত্রে যদি ঝামেলা খুব বেশি হয় তবে আপনি আপনার রাস্তায় একটি "গনুবিন" ডিরেক্টরি যুক্ত করতে পারেন এবং কেবল জিএনইউ সিড দিয়ে কল করতে পারেন sed
। আপনাকে নিম্নলিখিতগুলিতে আপনার যুক্ত করতে হবে ~/.bash_profile
:
PATH="$(brew --prefix coreutils)/libexec/gnubin:$PATH"
অবশ্যই, আপনি বাদাম (কার্নেল, ব্যবহারে X11, প্রাপ্ত syscall সামঞ্জস্য, ইত্যাদি) স্যুপ থেকে লিনাক্স পরিবেশ প্রয়োজন হলে আপনি যেমন একটি ভার্চুয়াল মেশিন, ইন লিনাক্স চালানোর জন্য আছে VirtualBox । লিনাক্সে চালনার জন্য ডিজাইন করা সফ্টওয়্যার বা স্ক্রিপ্টগুলি চালনার দরকার হলে এটি নিরাপদ বাজি।
হোমব্রব কেবলমাত্র এমন কিছু প্রোগ্রামের জন্য সামঞ্জস্যতা বহন করবে যা লিনাক্স-নির্দিষ্ট আচরণের প্রয়োজন হয় না। উদাহরণস্বরূপ inotify
শুধুমাত্র লিনাক্স এ উপলব্ধ। drm
(ডাইরেক্ট রেন্ডারিং ম্যানেজার) কেবল লিনাক্স এ উপলব্ধ। আরও কিছু নিম্ন স্তরের সিস্টেম কল রয়েছে যা কেবলমাত্র লিনাক্সে উপলভ্য, এবং যার জন্য ওএস এক্সে সমতুল্য নেই, তাই লিনাক্স থেকে ওএস এক্সে কিছু প্রোগ্রাম পোর্ট করা গুরুত্বপূর্ণ কোড পরিবর্তন ছাড়াই অবৈধ বা অসম্ভব হতে পারে।