এটি বলেছিল, কর্ন শেল - পসিক্স শেল থেকে পৃথক একটি জিনিস হিসাবে - বাণিজ্যিক ইউনিক্স বিশ্বের বাইরে সত্যই কখনও জনপ্রিয় হয়ে উঠেনি। কারণ এটির উত্থানটি ইউনিক্স বাণিজ্যিকীকরণের প্রথম বছরগুলির সাথে মিল ছিল, তাই এটি ইউনিক্স যুদ্ধে জড়িয়ে পড়ে । বিএসডি ইউনিক্সগুলি এটিকে শেলটির পক্ষে রেখেছিল এবং এটির উত্স কোডটি লিনাক্সে শুরু করার সময় অবাধে ব্যবহারের জন্য উপলব্ধ ছিল না ⁵ সুতরাং, যখন প্রাথমিক লিনাক্স ডিস্ট্রিবিউটররা তাদের লিনাক্স কার্নেলের সাথে যেতে একটি কমান্ড শেল সন্ধান করতে চলেছিলেন, তারা সাধারণত জিএনইউsh বাশকে বেছে নিয়েছিল, আপনি যেসব কম্প্যাটিবেবলের কথা বলছেন তার মধ্যে একটি ⁶
Linux এবং ব্যাশ মধ্যে যে প্রাচীন সমিতি প্রায় কাছাকাছি সহ অন্যান্য অনেক শেল, ভাগ্য সিল ksh, cshএবং tcsh। আজও এই শেলগুলি ব্যবহার করে ডাই-হার্ডস রয়েছে, তবে তারা সংখ্যালঘুতে অনেক বেশি ⁷
আমি উপরে "শেল স্ক্রিপ্ট" জেনেরিক শব্দ হিসাবে ব্যবহার করেছি যার অর্থ বোর্ন / পসিক্স শেল স্ক্রিপ্টিং। এটি বোর্ন পরিবারের শেলগুলির সর্বব্যাপীতার কারণে। অন্যান্য শেলগুলিতে স্ক্রিপ্টিং সম্পর্কে কথা বলতে গেলে আপনাকে "সি শেল স্ক্রিপ্ট" এর মতো একটি যোগ্যতা দেওয়া দরকার। এমনকি এমন সিস্টেমে যেখানে সি পরিবারের শেলটি ডিফল্ট ইন্টারেক্টিভ শেল, স্ক্রিপ্টিংয়ের জন্য বোর্ন শেলটি ব্যবহার করা ভাল ।
প্রদত্ত বোর্ন পরিবারের শেল স্ক্রিপ্টটি বহনযোগ্য কিনা তা যাচাই করার অনেকগুলি উপায় রয়েছে:
বিএসডি ইউনিক্সের প্রথম সংস্করণগুলি ভি 6 ইউনিক্সের জন্য কেবল অ্যাড-অন সফ্টওয়্যার সংগ্রহ ছিল। যেহেতু বোর্ন শেলটি ভি until অবধি এটি অ্যান্ড টি ইউনিক্সে যুক্ত করা হয়নি, তাই BSD প্রযুক্তিগতভাবে বোর্ন শেলটি শুরু করে নি। থম্পসন শেলের আদিম প্রকৃতির বিএসডির উত্তর ছিল সি শেল ।
তা সত্ত্বেও, বাসদ প্রথম স্বতন্ত্র সংস্করণে (2.9BSD এবং 3BSD) V7 বা তার পোর্টেবল উত্তরাধিকারী উপর ভিত্তি করে ইউনিক্স / 32V , তাই তারা করেনি বোর্ন শেল অন্তর্ভুক্ত।
(2 বিএসডি লাইনটি ডিজিটালের পিডিপি মিনিকম্পিউটারের জন্য বিএসডি এর সমান্তরাল কাঁটাচামচায় পরিণত হয়েছিল , যখন 3BSD এবং 4BSD লাইন ভ্যাক্সেন এবং ইউনিক্স ওয়ার্কস্টেশনের মতো নতুন কম্পিউটার ধরণের সুবিধা নিতে গিয়েছিল । 2.9BSD মূলত 4.1cBSD এর PDP সংস্করণ ছিল ; তারা ছিল সমসাময়িক, এবং ভাগ কোড । PDPs শুধু অদৃশ্য নি VAX এসেছে, তাই 2BSD লাইন হয় এখনো shambling বরাবর ।)
এটা বলা নিরাপদ যে 1983 সালের মধ্যে বর্ন শেল ইউনিক্স বিশ্বের সর্বত্র ছিল comp এটি কম্পিউটিং ইন্ডাস্ট্রিতে "চিরকালের জন্য" খুব ভাল অনুমান। এমএস-ডস সেই বছর একটি হাইরিয়ালিকাল ফাইল সিস্টেম পেয়েছিল (অ্যাওউউ, হাউ কিউইউইট!) এবং এর 9 "বি অ্যান্ড ডাব্লু স্ক্রিনযুক্ত প্রথম 24-বিট ম্যাকিনটোস - গ্রেস্কেল নয়, আক্ষরিকভাবে কালো এবং সাদা - পরের বছরের প্রথম দিকে না বেরিয়ে আসে।
আজকের মানদণ্ডে থম্পসন শেলটি বেশ আদিম ছিল । এটি কেবলমাত্র একটি ইন্টারেক্টিভ কমান্ড শেল ছিল, আমরা স্ক্রিপ্ট প্রোগ্রামিং পরিবেশের চেয়ে আজকে প্রত্যাশা করি। এটিতে পাইপ এবং I / O পুনঃনির্দেশের মতো জিনিস ছিল যা আমরা প্রোটোটাইপিকভাবে একটি "ইউনিক্স শেল" এর অংশ হিসাবে বিবেচনা করি, যাতে আমরা এমএস-ডস কমান্ড শেলটিকে ইউনিক্স থেকে পেয়েছি বলে মনে করি ।
বোর্ন শেল পিডাব্লুবি শেলকেও প্রতিস্থাপন করেছিল , যা থম্পসন শেল যেমন প্রোগ্রামযোগ্যতা ( if, switchএবং while) এবং পরিবেশগত ভেরিয়েবলগুলির প্রাথমিক রূপের সাথে গুরুত্বপূর্ণ বিষয় যুক্ত করেছিল । পিডাব্লুবি শেল থম্পসন শেলের তুলনায় আরও কম স্মরণযোগ্য কারণ এটি ইউনিক্সের প্রতিটি সংস্করণের অংশ ছিল না।
যখন কেউ নয় POSIX সম্পর্কে সুনির্দিষ্ট বনাম বোর্ন শেল সামঞ্জস্য, সেখানে তারা মানে হতে পারে একটি সম্পূর্ণ পরিসর।
এক পর্যায়ে তারা 1979 এর বোর্ন শেলটিকে তাদের বেসলাইন হিসাবে ব্যবহার করতে পারে। একটি " sh-compatible স্ক্রিপ্ট" এই অর্থে অর্থ হবে এটা সত্য বোর্ন শেল বা তার successors এবং ক্লোনস কোনো পুরোপুরি চালানোর বলে আশা করা হচ্ছে: ash, bash, ksh, zsh, ইত্যাদি
অন্য চূড়ান্তভাবে কেউ পসিক্সের পরিবর্তে একটি বেসলাইন হিসাবে চিহ্নিত শেলটি ধরে নেয়। আমরা আজকাল অনেকগুলি পসিক্স শেল বৈশিষ্ট্যগুলিকে "স্ট্যান্ডার্ড" হিসাবে গ্রহণ করি যে আমরা প্রায়শই ভুলে যাই যে তারা বাস্তবে বোর্ন শেলটিতে উপস্থিত ছিল না: অন্তর্নির্মিত গাণিতিক, কাজের নিয়ন্ত্রণ, কমান্ডের ইতিহাস, উপকরণগুলি, কমান্ড লাইন সম্পাদনা, $()কমান্ডের ফর্ম প্রতিস্থাপন, ইত্যাদি
যদিও ১৯৮০ এর দশকের গোড়ার দিকে কর্ন শেলের শিকড়গুলি ফিরে গেছে, ১৯৮৮ সালে সিস্টেম ভি রিলিজ হওয়া অবধি এটিএন্ডটি এটি ইউনিক্সে পাঠায়নি। যেহেতু অনেকগুলি kshইউনিক্স এসভিআর 4 -এর উপর ভিত্তি করে তৈরি করা হয়েছে , তাই এটি প্রতিটি প্রাসঙ্গিক বাণিজ্যিক ইউনিক্সকে আরও অনেক কিছু দিয়েছিল 1980 এর দশকের শেষের দিকে।
( এসভিআর 3 এর উপর ভিত্তি করে কয়েকটি অদ্ভুত ইউনিক্স স্বাদ এবং এর আগে এসভিআর 4 প্রকাশের আগে বাজারের টুকরো টুকরো করে রাখা হয়েছিল , তবে বিপ্লব এলে তারা প্রাচীরের বিরুদ্ধে প্রথম ছিল ।)
1988 এও যে বছর প্রথম পসিক্স স্ট্যান্ডার্ডটি প্রকাশিত হয়েছিল, এর কর্ন শেল ভিত্তিক "পসিক্স শেল" with পরে, 1993 সালে, কর্ন শেলের একটি উন্নত সংস্করণ প্রকাশিত হয়েছিল। যেহেতু পসিক্স কার্যকরভাবে মূলটিকে পেরেক দিয়েছিল, kshদুটি বড় সংস্করণে কাঁটাচামচ করেছে: ksh88এবং ksh93, তাদের বিভক্তির সাথে জড়িত বছরের পরে নামকরণ করা হয়েছে।
ksh88পার্থক্যগুলি ছোট হলেও পুরোপুরি পসিক্স-সামঞ্জস্যপূর্ণ নয়, যাতে ksh88শেলের কয়েকটি সংস্করণ পসিক্স-সামঞ্জস্যপূর্ণ হওয়ার জন্য প্যাচ করা হয়েছিল। ( ডঃ ডেভিড জি। কর্নের সাথে স্ল্যাশডোটের একটি আকর্ষণীয় সাক্ষাত্কার থেকে এটি Yes হ্যাঁ, যে ব্যক্তিটি শেলটি লিখেছিল))
ksh93হয় POSIX শেলের একটি সম্পূর্ণ সামঞ্জস্যপূর্ণ সুপারসেটও । উপর ডেভেলপমেন্ট ksh93হয়েছে বিক্ষিপ্ত যেহেতু প্রাথমিক উৎস সংগ্রহস্থলের যেমন AT & T থেকে সরানো GitHub থেকে নতুন রিলিজ হওয়া 3 বছর বয়সী হিসাবে আমি এই, ksh93v লিখতে হয়। (প্রকল্পের ভিত্তির নামটি ksh931993 এর বাইরে প্রকাশের সংস্করণ বোঝাতে যোগ করা প্রত্যয় সহ অবশিষ্ট রয়েছে ))
পসিক্স শেল থেকে আলাদা জিনিস হিসাবে কর্ন শেল অন্তর্ভুক্ত করা সিস্টেমগুলি সাধারণত এটি উপলব্ধ করে তোলে /bin/ksh, যদিও কখনও কখনও এটি অন্য কোথাও লুকিয়ে থাকে।
যখন আমরা kshনাম অনুসারে বা কর্ন শেল সম্পর্কে কথা বলি , আমরা এমন ksh93বৈশিষ্ট্যগুলির সাথে কথা বলি যা এটির পিছনের সাথে সামঞ্জস্যপূর্ণ বোর্ন এবং পসিক্স শেল সাবসেটগুলি থেকে পৃথক করে। আপনি ksh88আজ খুব কমই খাঁটি জুড়ে দৌড়ান ।
এটিএন্ডটি মার্চ 2000 পর্যন্ত কর্ন শেল সোর্স কোডের মালিকানা রেখেছিল । সেই মুহুর্তে, জিএনইউ বাশের সাথে লিনাক্সের সম্পর্ক খুব দৃ very় ছিল। বাশ এবং ksh93 প্রত্যেকের একে অপরের তুলনায় সুবিধা রয়েছে তবে এই সময়ে জড়তা লিনাক্সকে বাশের সাথে শক্তভাবে জড়িত রাখে।
কেন প্রথম দিকে লিনাক্স বিক্রেতাদের হিসেবে সবচেয়ে বেশি যে বেশি গনুহ ব্যাশ পছন্দ করে নিন হিসেবে pdksh, যা ছিল সময় লিনাক্স শুরু হয়েছিল পাওয়া যায়, আমি userland বাকি এত এছাড়াও থেকে এসেছিলেন এটা অনুমান চাই গনুহ প্রকল্পের । বাশরা এর চেয়ে কিছুটা বেশি অগ্রসর pdksh, যেহেতু বাশ বিকাশকারীরা কর্ন শেল বৈশিষ্ট্যগুলি অনুলিপি করতে সীমাবদ্ধ করে না।
pdkshএটিএন ও টি উত্স কোডটি সত্যিকারের কর্ন শেলটিতে প্রকাশের সময় সম্পর্কে কাজ বন্ধ হয়ে গেছে। দুটি প্রধান কাঁটাচামচ এখনও রক্ষণাবেক্ষণ করা হয়, তবে: ওপেনবিএসডি pdkshএবং মিরবিএসডি কর্ন শেলmksh ,।
আমি এটি আকর্ষণীয় মনে করি mkshযা বর্তমানে সাইগউইনের জন্য প্যাকেজ করা একমাত্র কর্ন শেল বাস্তবায়ন।
জিএনইউ বাশ বিভিন্নভাবে পসিক্স ছাড়িয়ে যায় তবে আপনি আরও বিশুদ্ধ পসিক্স মোডে চালিয়ে যেতে বলতে পারেন ।
csh/ tcshসাধারণত 1990 মাধ্যমে বাসদ Unixes ডিফল্ট ইন্টারেক্টিভ শেল ছিল।
বিএসডি বৈকল্পিক হওয়ায় ম্যাক ওএস এক্স এর প্রথম সংস্করণগুলি ম্যাক ওএস এক্স 10.2 "জাগুয়ার" এর মাধ্যমে ছিল । ওএস এক্স 10.3 "প্যান্থার" -কে ওএস এক্সtcsh বাশ থেকে ডিফল্ট শেলটি পরিবর্তন করেছে । এই পরিবর্তনটি 10.2 বা তার আগের থেকে আপগ্রেড হওয়া সিস্টেমগুলিকে প্রভাবিত করে না। এই রূপান্তরিত সিস্টেমে বিদ্যমান ব্যবহারকারীরা তাদের শেল রেখেছিলেন ।tcsh
ফ্রিবিএসডি ডিফল্ট শেল হিসাবে এখনও ব্যবহার করার দাবি করেছেtcsh , তবে আমি এখানে ফ্রিবিএসডি 10 ভিএম-তে ডিফল্ট শেলটি পসিক্স-সামঞ্জস্যপূর্ণ অ্যালকুইস্ট শেল রূপগুলির মধ্যে একটি হিসাবে উপস্থিত বলে মনে হচ্ছে । নেটবিএসডি-তেও এটি সত্য।
ওপেনবিএসডি pdkshপরিবর্তে ডিফল্ট শেল হিসাবে একটি কাঁটাচামচ ব্যবহার করে।
লিনাক্স এবং ওএস এক্সের উচ্চতর জনপ্রিয়তা কিছু লোককে ইচ্ছে করে যে ফ্রিবিএসডিও বাশের দিকে চলে যেতে পারে, তবে দার্শনিক কারণে তারা শীঘ্রই এগুলি আর করবে না । এটি যদি আপনাকে বিরক্ত করে তবে এটি পরিবর্তন করা সহজ ।
/bin/shআজকালকার হিসাবে সত্যই ভ্যানিলা বোর্ন শেল সহ একটি সিস্টেম খুঁজে পাওয়া বিরল । সামঞ্জস্যতা পরীক্ষার জন্য পর্যাপ্ত পরিমাণে এটির নিকটবর্তী কিছু খুঁজে পেতে আপনাকে আপনার পথ ছাড়তে হবে।
আমি শুধুমাত্র একটি উপায় একটি আধুনিক কম্পিউটারে একটি প্রকৃত 1979 মদ বোর্ন শেল চালানোর জন্য সচেতন আছি: ব্যবহার প্রাচীন ইউনিক্স V7 ডিস্ক ইমেজ সঙ্গে SIMH পিডিপি -11 কাল্পনিক থেকে কম্পিউটার ইতিহাসের সিমুলেশন প্রকল্প । সিমএইচ প্রতিটি ইউনিক্স কম্পিউটারের মতো চলে , কেবল ইউনিক্সের মতো নয়। SIMH এমনকি রান Android এর উপর এবং iOS এ ।
সঙ্গে OpenSolaris , সূর্যের খুলতে-sourced প্রথমবারের বোর্ন শেলের SVR4 সংস্করণ। তার আগে, বোর্ন শেলের পোস্ট-ভি 7 সংস্করণগুলির উত্স কোডটি কেবল ইউনিক্স উত্স কোড লাইসেন্স সহ তাদের জন্য উপলব্ধ ছিল।
সেই কোডটি এখন ডিপান্টেড ওপেনসোলারিস প্রকল্পের বিভিন্ন উত্স থেকে পৃথকভাবে উপলব্ধ।
সর্বাধিক প্রত্যক্ষ উত্স হেরলুম বোর্ন শেল প্রকল্প । এটি ওপেনসোলারিসের মূল রিলিজের 2005 পরে পাওয়া যায়। পরের কয়েক মাস ধরে কিছু বহনযোগ্যতা এবং বাগ ফিক্সিংয়ের কাজ করা হয়েছিল, তবে তারপরে প্রকল্পটির উন্নয়ন বন্ধ হয়ে যায়।
জার্গ শিলিং oshতার শিলি সরঞ্জাম প্যাকেজের মতো এই কোডটির একটি সংস্করণ বজায় রাখার জন্য আরও ভাল কাজ করেছেন । এই সম্পর্কে আরও জানতে উপরের দেখুন।
মনে রাখবেন যে ২০০ release সোর্স কোড রিলিজ থেকে প্রাপ্ত এই শেলগুলিতে মাল্টি-বাইট অক্ষর সেট সমর্থন, কাজের নিয়ন্ত্রণ, শেল ফাংশন এবং অন্যান্য বৈশিষ্ট্যগুলি মূল 1979 এর বোর্ন শেলটিতে উপস্থিত নেই।
আপনি আসল বোর্ন শেলটিতে রয়েছেন কিনা তা বলার একটি উপায় হ'ল থম্পসন শেল থেকে উত্তরণকে স্বাচ্ছন্দ্যে যোগ করার জন্য এটি কোনও অননুমোদিত বৈশিষ্ট্যটিকে সমর্থন করে কিনা তা দেখার ^জন্য : এর জন্য একটি উপাধি হিসাবে |। এর অর্থ এটি, কোনও কমান্ড যেমন ls ^ moreকর্ন বা পোসিক্স টাইপ শেলটিতে ত্রুটি দেয় তবে এটি ls | moreসত্য বোর্ন শেলের মতো আচরণ করবে ।
মাঝেমধ্যে আপনি একটি fish, scshবা rc/esঅনুগামীদের মুখোমুখি হন তবে সেগুলি সি শেল অনুরাগীদের চেয়ে বিরল।
rcশাঁস পরিবার সাধারণভাবে ইউনিক্স / লিনাক্স সিস্টেমে ব্যবহার করা হয় না, কিন্তু পরিবার ঐতিহাসিকভাবে গুরুত্বপূর্ণ, যা কিভাবে এটি উপরে ডায়াগ্রাম একটি জায়গা অর্জন করেন। rcমান শেল হয় বেল ল্যাবস থেকে প্ল্যান 9 অপারেটিং সিস্টেম, এর উত্তরাধিকারী এক ধরনের 10th সংস্করণ ইউনিক্স , বেল ল্যাবস 'অপারেটিং সিস্টেমের নকশা মধ্যে অব্যাহত গবেষণার অংশ হিসেবে সৃষ্টি করেছেন। এটি একটি প্রোগ্রামিং স্তরে বোর্ন এবং সি শেল উভয়ের সাথেই বেমানান; সেখানে সম্ভবত একটি পাঠ আছে।
সর্বাধিক সক্রিয় রূপটি টবি গুডউইন দ্বারা পরিচালিত এক হিসাবে rcদেখা যায় যা বায়রন রাকিতসিসের ইউনিক্স ক্লোন ভিত্তিক ।rc
sh) এর সাথে সিনট্যাক্স সামঞ্জস্যপূর্ণ (চলমান) ব্যবহার করে কিনা তা বোঝায় । ভিন্ন শেলের জন্য, এটি শেলটি বোর্ন শেল স্ক্রিপ্টগুলি চালাতে পারে কিনা তা বোঝায়।