লিনাক্স বনাম ম্যাক ওএসে ব্যাশ করুন


27

আমি একটি আইম্যাক কিনছি আমি লিনাক্সে দীর্ঘদিন ধরে কাজ করছি এবং আমি প্রচুর পরিমাণে স্ক্রিপ্টিং করি do আমি ভাবছিলাম যে সমস্ত বাশ কমান্ড এবং বৈশিষ্ট্যগুলি ম্যাক ওএস এ উপলব্ধ? ম্যাক বাশ স্ক্রিপ্টিং নিয়ে কারও অভিজ্ঞতা আছে? আমি আপনার ইনপুট প্রশংসা করি।

উত্তর:


32

বাশ নিজেই বেশিরভাগ একই হবে। কয়েকটি ছোট পার্থক্য হবে তবে এগুলির কোনওটিই আপনার স্ক্রিপ্টগুলির বহনযোগ্যতার উপর প্রভাব ফেলবে না।

প্রধান সমস্যাটি হ'ল ম্যাকোএস কোর্টিলগুলি ফ্রিবিএসডি ভিত্তিক যখন আপনি যে ইউটিলিটিগুলি ব্যবহার করছেন সেগুলি সম্ভবত জিএনইউ প্রকল্প থেকে। ফ্রিবিএসডি কোর্টিলগুলি সর্বদা জিএনইউ কোর্টিলগুলির সাথে সামঞ্জস্যপূর্ণ নয়। জিএনইউ এবং সেড , গ্রেপ , পিএস এবং অন্যান্য ইউটিলিটিগুলির ফ্রিবিএসডি সংস্করণগুলির মধ্যে পারফরম্যান্স এবং আচরণগত পার্থক্য রয়েছে ।

আপনি গনুহ coreutils ইনস্টল করতে পারেন কিন্তু তারা আছে g-উপসর্গ (যেমন gcatজন্য cat)। এটা একটা ভাল ধারণা না গনুহ coreutils সঙ্গে MacOS এর coreutils প্রতিস্থাপন।


6
এটি প্রশস্ত করা উচিত যে স্ট্যান্ডার্ড ফ্রিবিএসডি-ভিত্তিক মূল ইউটিলিটিগুলি ব্যবহার করা আপনার স্ক্রিপ্টগুলির বহনযোগ্যতাকে প্রভাবিত করতে পারে (যেমন, psবিভিন্ন পতাকা রয়েছে, যেমন রয়েছে grep)। আমার উবুন্টু স্ক্রিপ্টটি কেন আমার ম্যাকে একই আউটপুট তৈরি করছে না তা জানার চেষ্টা করার জন্য আমি কয়েকবার প্রাচীরের বিপরীতে মাথা বেঁধেছি।
ক্রিস গ্রেগ

1
আপনি যদি আপনার স্ক্রিপ্টগুলি পোর্টেবল হতে চান তবে www2.opengroup.org/ogsys/jsp/publications/mainPage.jsp পসিক্স এবং এক্সসিইউ ইউটিলিটি এবং কমান্ডের জন্য কঠোর-মানক স্পেসিফিকেশন পাওয়ার জন্য দুর্দান্ত জায়গা।
কোজিরো

@ ক্রিসগ্রিগ: আমি একমত আমি জবাব দেওয়ার জন্য আমার উত্তরে কিছুটা যুক্ত করেছি যে দুটি সরঞ্জামের সেটগুলির মধ্যে অসঙ্গতি রয়েছে।

5

যদি এটি গুরুত্বপূর্ণ bashহয়ে থাকে তবে ম্যাক ওএস এক্স মাউন্টেন সিংহের সংস্করণটি এখনও 3.2 is আজকাল বেশিরভাগ লিনাক্স ডিস্ট্রিবিউশন 4.x সহ শিপিং করছে যাতে আপনি সংস্করণ 4 বৈশিষ্ট্যগুলি হারিয়ে যাবেন। বর্তমানে, হোমব্রু থেকে একটি কর্মসংস্থান হিসাবে সংস্করণ 4.2.45 উপলভ্য। মাভারিক্সে কী সংস্করণ রয়েছে তা আমি জানি না, আমি নিশ্চিত কেউ জানি না যে তাকে এখনও বলার অনুমতি দেওয়া হয়েছে।

অন্যদের দ্বারা উল্লিখিত হিসাবে, bashএকই bash(ইতিমধ্যে উল্লিখিত সংস্করণগুলি ব্যতীত) তবে ম্যাক ওএস এক্স একটি (বেশিরভাগ) বিএসডি ব্যবহারকারীল্যান্ড ব্যবহার করে। অনেকগুলি স্ট্যান্ডার্ড সিস্টেম ইউটিলিটির কিছুটা আলাদা বিকল্প রয়েছে বা কিছুটা ভিন্নভাবে আচরণ করে। দুর্ভাগ্যক্রমে তারা এখানে তালিকাবদ্ধ করার জন্য খুব বেশি।


2
4 বছর পরে হাই সিয়েরায় বাশ এখনও ব্যবহার করছে: জিএনইউ ব্যাশ, সংস্করণ 3.2.57 (1) -রেলিজ (x86_64-আপেল-ডারউইন 17) কপিরাইট (সি) 2007 ফ্রি সফটওয়্যার ফাউন্ডেশন, ইনক।
নেট লকউড

4

ইনস্টল করুন homebrew (ক প্যাকেজ ম্যানেজার) তাহলে কিছু মৌলিক ইউটিলিটি GNU সংস্করণ ইনস্টল করা:

$ brew install coreutils
$ brew install gnu-sed

প্রতিটি ইনস্টলের পরে, এটি এমন পদক্ষেপগুলি প্রদর্শন করবে যাতে আপনি অনুসরণ করতে পারেন যাতে আপনি কেবল কল করতে পারেন dategdate উদাহরণস্বরূপ পরিবর্তে , যাতে আপনি এখনও কোনও পরিবর্তন ছাড়াই আপনার লিনাক্স ব্যাশ স্ক্রিপ্টগুলি ব্যবহার করতে পারেন।

অভিনন্দন, আপনি সবেমাত্র আপনার 99% ক্রস প্ল্যাটফর্মের স্ক্রিপ্টিং সমস্যা সমাধান করেছেন।


3
অন্যদিকে, যদি আপনার স্ক্রিপ্টগুলি আসলে বহনযোগ্য বলে বোঝানো হয়, আপনি স্ক্রিপ্টগুলি সংশোধন করতে চান, লক্ষণগুলি নয়।
ট্রিপলি

2

লিনাক্স থেকে ম্যাকের কাছে আসা একটি জিনিস হতাশার কারণ হতে পারে যে কোনও /procসিউডো-ফাইল সিস্টেম নেই। এটি আমার লিনাক্সের বেশ কয়েকটি স্ক্রিপ্টগুলি ভেঙে দিয়েছে এবং আপনি procআপনার ম্যাক ব্যাশ স্ক্রিপ্টে যে তথ্যটি পেয়েছেন একই তথ্য পাওয়ার উপযুক্ত উপায়গুলি খুঁজে পাওয়া জটিল trick


0

আমি একজন 'প্রধানত লিনাক্স, মাঝে মাঝে ম্যাক' ব্যবহারকারী এবং আমি এটি খুঁজে পাই:

বাশ, ~/.bashrcএবং ~/.bash_aliasesবেশিরভাগই একই কাজ করে।

আমি যে সমস্যাটি পেয়েছি তা হ'ল ম্যাকটিতে রঙিন প্রম্পটটি কার্যকর না করার পরিবর্তনের একটি কমান্ড। এটি এবং অন্যান্য অভিজ্ঞতা থেকে আমি আমার .bashrcফাইলটি সেট আপ করার সময় একটি টার্মিনাল উইন্ডো খোলা রাখতে এবং লগ ইন করতে শিখেছি । এটি ছিল আমি 'নতুন উইন্ডো' পরীক্ষা করতে এবং এখনও লগ ইন হওয়াতে কোনও ত্রুটি খুঁজে পেতে পারি।

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