শ এবং বাশের মধ্যে পার্থক্য


1303

শেল প্রোগ্রাম লেখার সময়, আমরা প্রায়শই ব্যবহার করি /bin/shএবং /bin/bash। আমি সাধারণত ব্যবহার bashকরি তবে তাদের মধ্যে পার্থক্য কী তা আমি জানি না।

মধ্যে মূল পার্থক্য কি bashএবং sh?

আমরা কি যখন প্রোগ্রামিং সচেতন হতে করতে হবে bashএবং sh?


21
বোর্ন শেল-এ কাজ করে এমন বাশিজম এবং সংশ্লিষ্ট কোডের দরকারী তালিকার জন্য, mywiki.wooledge.org/ বাশিজম দেখুন
স্ট্যাক এক্সচেঞ্জ স্যাডেন্স ডান্স্ক

1
আপনি sh এবং এর কমান্ড ভাষার জন্য পসিক্স মান দেখতে চাইতে পারেন : * sh * শেল কমান্ড ভাষা
মরিসিও সি আন্তুনেস

7
একটি সাধারণ নিয়ম হিসাবে, সমস্ত শি স্ক্রিপ্টগুলি প্যাসিক্সের সামঞ্জস্যতার জন্য বাশের অধীনে চলবে, তবে সমস্ত ব্যাশ স্ক্রিপ্টগুলি শ এর অধীনে চলতে পারে না, আপনি যে প্রধান পার্থক্য লক্ষ্য করেছেন তা [[]] তুলনা করার পরিবর্তে []] তুলনা যা অব্যক্ত স্থানগুলিকে অনুমতি দেয়, ar (()) গাণিতিক এক্সপ্রেশনগুলির পরিবর্তে এবং অন্যান্য জিনিস যেমন "এটি খুব বড় এবং খুব ধীর" বাশ ডকস থেকে সরাসরি .. তবে নতুন স্ক্রিপ্টগুলিকে কিছুটা শ্যুটিং না করা পর্যন্ত তাদের sh- সামঞ্জস্যপূর্ণ স্ক্রিপ্টগুলিতে সীমাবদ্ধ করার দরকার নেই unless পশ্চাদপদ সামঞ্জস্যতা, যা প্রায়শই এই দিনগুলিতে হয় না, সর্বোপরি এটি 2014 (বা ছিল ...) বছরটি ঠিক আছে ??
ওসিরিগোথর

উত্তর:


1140

কি শ

sh(বা শেল কমান্ড ল্যাঙ্গুয়েজ) হ'ল পসিক্স স্ট্যান্ডার্ড দ্বারা বর্ণিত একটি প্রোগ্রামিং ভাষা । এটা অনেক বাস্তবায়নের আছে ( ksh88, dash, ...)। bashএর বাস্তবায়ন হিসাবে বিবেচনা করা যেতে পারে sh(নীচে দেখুন)।

কারণ shএকটি স্পেসিফিকেশন, বাস্তবায়ন নয়, /bin/shবেশিরভাগ পসিক্স সিস্টেমে প্রকৃত বাস্তবায়নের জন্য একটি সিমিলিংক (বা একটি হার্ড লিঙ্ক)।

বাশ কি?

bashএকটি shসামঞ্জস্যপূর্ণ বাস্তবায়ন হিসাবে শুরু হয়েছে (যদিও এটি POSIX মানটি কয়েক বছরের মধ্যে পূর্বাভাস দেয়) তবে সময়ের সাথে সাথে এটি অনেকগুলি এক্সটেনশন অর্জন করেছে। এর মধ্যে অনেকগুলি এক্সটেনশান বৈধ পসিক্স শেল স্ক্রিপ্টগুলির আচরণ পরিবর্তন করতে পারে, তাই নিজে bashথেকে কোনও বৈধ পসিক্স শেল নয়। বরং এটি পসিক্স শেল ভাষার একটি উপভাষা।

bashএকটি --posixস্যুইচ সমর্থন করে , যা এটিকে আরও পসিক্স-অনুবর্তী করে তোলে। এটি POSIX নকল করার চেষ্টা করে যদি হিসাবে আহ্বান জানানো হয় sh

sh = বাশ?

দীর্ঘকাল ধরে, বেশিরভাগ জিএনইউ / লিনাক্স সিস্টেমগুলিতে /bin/shনির্দেশ করতে ব্যবহৃত হয় /bin/bash। ফলস্বরূপ, দুজনের মধ্যে পার্থক্য উপেক্ষা করা প্রায় নিরাপদ হয়ে গিয়েছিল। তবে সম্প্রতি এটি পরিবর্তন হতে শুরু করে।

সিস্টেমগুলির কয়েকটি জনপ্রিয় উদাহরণ যেখানে /bin/shইশারা দেয় না /bin/bash(এবং /bin/bashকিছুগুলির মধ্যে এমনকি উপস্থিত নাও হতে পারে):

  1. মডার্ন ডেবিয়ান এবং উবুন্টু সিস্টেমগুলি, যা ডিফল্টরূপে প্রতীকী shহয় dash;
  2. ব্যস্তবক্স , যা সাধারণত লিনাক্স সিস্টেম বুট করার সময় অংশ হিসাবে চালিত হয় initramfs। এটি ashশেল বাস্তবায়ন ব্যবহার করে ।
  3. বিএসডি, এবং সাধারণভাবে কোনও নন-লিনাক্স সিস্টেম। ওপেনবিএসডি ব্যবহার করে pdksh, কর্ন শেলের বংশধর। ফ্রিবিএসডি shহ'ল মূল ইউনিক্স বোর্ন শেলের বংশধর। সোলারিসের নিজস্ব রয়েছে shযা দীর্ঘকাল ধরে পসিক্স-কমপ্লায়েন্ট ছিল না; হায়রলুম প্রকল্প থেকে একটি বিনামূল্যে বাস্তবায়ন পাওয়া যায় ।

/bin/shআপনার সিস্টেমে কী কী পয়েন্ট রয়েছে তা আপনি কীভাবে আবিষ্কার করতে পারেন ?

জটিলতাটি হ'ল এটি /bin/shএকটি প্রতীকী লিঙ্ক বা একটি হার্ড লিঙ্ক হতে পারে। যদি এটি একটি প্রতীকী লিঙ্ক হয় তবে এটি সমাধানের একটি পোর্টেবল উপায় হ'ল:

% file -h /bin/sh
/bin/sh: symbolic link to bash

এটি যদি একটি শক্ত লিঙ্ক হয় তবে চেষ্টা করুন

% find -L /bin -samefile /bin/sh
/bin/sh
/bin/bash

প্রকৃতপক্ষে, -Lপতাকাটি সিমলিংক এবং হার্ডলিঙ্ক উভয়কেই কভার করে, তবে এই পদ্ধতির অসুবিধাটি হ'ল এটি বহনযোগ্য নয় - জিএনইউ অনুসন্ধান এবং ফ্রিবিএসডি উভয়ই এটি সমর্থন করে তবে পসিক্স বিকল্পটি সমর্থন করার প্রয়োজন হয় নাfind-samefile

শেবাং লাইন

শেষ পর্যন্ত, স্ক্রিপ্টের প্রথম লাইন হিসাবে «শেবাং» লাইনটি লিখে কোনটি ব্যবহার করবেন তা সিদ্ধান্ত নেওয়া আপনার পক্ষে up

যেমন

#!/bin/sh

ব্যবহার করবে sh(এবং যা কিছু ঘটতে পারে),

#!/bin/bash

/bin/bashএটি উপলভ্য হলে ব্যবহার করবে (এবং কোনও ত্রুটি বার্তা না থাকলে এটি ব্যর্থ হবে)। অবশ্যই, আপনি আরও একটি বাস্তবায়ন নির্দিষ্ট করতে পারেন, যেমন

#!/bin/dash

কোনটি ব্যবহার করতে হবে

আমার নিজের স্ক্রিপ্টগুলির জন্য, আমি shনিম্নলিখিত কারণে পছন্দ করি :

  • এটি মানসম্মত হয়
  • এটি শিখতে অনেক সহজ এবং সহজ
  • এটি পসিক্স সিস্টেমের মধ্যে বহনযোগ্য - এমনকি যদি তাদের না ঘটে তবে bashতাদের থাকা প্রয়োজনsh

bashপাশাপাশি ব্যবহার করার সুবিধা আছে । এর বৈশিষ্ট্যগুলি প্রোগ্রামিংকে আরও সুবিধাজনক এবং অন্যান্য আধুনিক প্রোগ্রামিং ভাষায় প্রোগ্রামিংয়ের মতো করে তোলে। এর মধ্যে স্কোপড স্থানীয় ভেরিয়েবল এবং অ্যারের মতো জিনিস অন্তর্ভুক্ত রয়েছে। সাদামাটা shএকটি খুব সংক্ষিপ্ত প্রোগ্রামিংয়ের ভাষা।


আপনি bashযদি সিনপ্যাক্স ত্রুটির ক্ষেত্রে ডিসপ্লে উপায়ের সাথে আরও দরকারী ত্রুটি বার্তাগুলি চালিত করেন run আপনি কেবল ব্যাশ ব্যবহার করে সময় সাশ্রয় করতে পারেন।
পিএইচপিস্ট

%আপনার কমান্ড লাইনের শুরুতে কী বোঝায়?
জোসেফ হারিওট

@ জোসেফ হারিয়ট এটি একটি প্রম্পট: শেল নিজেই মুদ্রিত একটি অক্ষর যার পরে আপনার আদেশটি অনুসরণ করবে। কিছু শেল এর $পরিবর্তে %বা #মূল শেলের জন্য ব্যবহার করে।
রোমান চ্যাপলিয়াকা

@ রোমনচেপলিয়াক কোন শেল? আমি কেবল কখনও দেখেছি $এবং #...
জোসেফ হারিয়ট

@ রোমনচেপলিয়াক বাশের আগে আমি অবশ্যই shবেশ ভাল ছিলাম (যা বোর্ন-আবার শেলের জন্য দাঁড়িয়েছে)। তবে এটি খুব আদিম ছিল এবং ESCচরিত্রগুলির মতো টার্মিনাল ইভেন্টগুলিতে সাড়া দেয়নি । তারপরে ksh(বাশের আগেও) এসেছিল, তারপরে বাশ তাদের পক্ষে শুরু হয়েছিল যারা আরও ভাল শেলের ধারণা পছন্দ করে তবে ksh ঘৃণা করে। :-)
রমনার

145

sh: http://man.cx/sh
bash : http://man.cx/bash

টিএল; ডিআর : আরও বেশি মার্জিত সিনট্যাক্স এবং আরও কার্যকারিতা সহ একটি bashসুপারস্টার sh। আধুনিক প্ল্যাটফর্মগুলিতে এটি সর্বব্যাপী হওয়ায় প্রায় সব ক্ষেত্রেই বাশ শেবাং লাইন ব্যবহার করা নিরাপদ।

নোট: কিছু পরিবেশে, sh হয় bash । চেক sh --version


31
যদি বাশকে শ হিসাবে চিহ্নিত করা হয় তবে এটি কিছুটা আলাদা আচরণ করে। দেখুন gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files ( "প্রার্থনা নাম SH সঙ্গে") এবং gnu.org/software/bash/manual/bashref.html#Bash-POSIX-Mode । উদাহরণস্বরূপ, কোনও প্রক্রিয়া বিকল্প নেই।
গ্লেন জ্যাকম্যান

11
যেহেতু বাশ sh এর সুপারস্টার এবং ফ্রিবিএসডি-র মতো কিছু ওএস ডিফল্টরূপে ইনস্টল করা থাকে না, sh এ স্ক্রিপ্টিং বৃহত্তর বহনযোগ্যতা দেয়।
ব্যবহারকারী 674062

1
নির্দিষ্ট স্ক্রিপ্টের জন্য পসিক্স শেল পাওয়ার কোনও পোর্টেবল স্ক্রিপ্টযোগ্য উপায় না থাকায় পোর্টেবল স্ক্রিপ্টগুলি বোর্ন শেল বৈশিষ্ট্যগুলির চেয়ে বেশি ধরে নিতে পারে না।
ধীরে ধীরে

83

এই প্রশ্নটি ঘন ঘন লোকেদের ব্যবহারের জন্য প্রচলিত হিসাবে মনোনীত করা হয়েছে shএবং অবাক হয় যে এটি এর মতো আচরণ করছে না bash। এখানে সাধারণ ভুল বোঝাবুঝি এবং সমস্যাগুলির দ্রুত পাল্টে ফেলা হচ্ছে।

প্রথমে, আপনার কী বুঝতে হবে তা বুঝতে হবে।

  • আপনার সাথে আপনার স্ক্রিপ্টটি চালানোর প্রয়োজন হলে sh scriptname, অথবা এটি চালানোর scriptnameএবং #!/bin/shমধ্যে কুঁড়েঘর লাইন, আপনি POSIX আশা করা উচিত shআচরণ।
  • আপনি যদি আপনার স্ক্রিপ্টটি শেবাং লাইনে bash scriptnameচালিত করেন বা এটি দিয়ে চালিয়ে যান scriptnameএবং #!/bin/bash(বা স্থানীয় সমতুল্য) থাকেন তবে আপনার বাশ আচরণ আশা করা উচিত।

একটি সঠিক শেবাং থাকা এবং কেবল স্ক্রিপ্টের নাম টাইপ করে স্ক্রিপ্টটি চালানো (সম্ভবত কোনও আত্মীয় বা পুরো পথ সহ ) সাধারণত পছন্দসই সমাধান is একটি সঠিক শেবাং ছাড়াও, এটির জন্য স্ক্রিপ্ট ফাইলটি কার্যকর করার অনুমতি প্রয়োজন ( chmod a+x scriptname)।

সুতরাং, তারা আসলে কীভাবে পৃথক হয়?

বাশ রেফারেন্স ম্যানুয়ালটিতে একটি বিভাগ রয়েছে যা পার্থক্যগুলি গণনা করার চেষ্টা করে তবে বিভ্রান্তির কয়েকটি সাধারণ উত্স অন্তর্ভুক্ত

  • [[ পাওয়া যায় না sh (কেবলমাত্র [এটি আরও চতুর এবং সীমাবদ্ধ)।
  • sh অ্যারে নেই।
  • কিছু ব্যাশ কিওয়ার্ডগুলি অনুসন্ধানের মত local, source, function, shopt, let, declare, এবং selectকরতে পোর্টেবল নয় sh। (কিছু shবাস্তবায়ন যেমন উদাঃlocal )
  • ব্যাশ তিন যুক্তি মত অনেক সি-শৈলী সিনট্যাক্স এক্সটেনশন রয়েছে for((i=0;i<=3;i++))লুপ, +=বৃদ্ধি নিয়োগ, ইত্যাদি $'string\nwith\tC\aescapes'বৈশিষ্ট্য সম্ভবত হয় POSIX জন্য গৃহীত (অর্থাত এটা এখন ব্যাশ কাজ করে, কিন্তু এখনো দ্বারা সমর্থিত হবে না shসিস্টেম যা শুধুমাত্র বর্তমান মেনে চলে উপর পসিএক্স স্পেসিফিকেশন, এবং সম্ভবত কিছু সময়ের জন্য আসবে না)।
  • বাশ সমর্থন করে <<<'here strings'
  • ব্যাশ হয়েছে *.{png,jpg}এবং {0..12}বক্রবন্ধনী সম্প্রসারণ।
  • ~$HOMEকেবল বাশকে বোঝায় (এবং আরও সাধারণভাবে ~usernameহোম ডিরেক্টরিতে username)।এটি পসিক্সে রয়েছে, তবে কিছু প্রাক-পসিক্স /bin/shবাস্তবায়ন থেকে নিখোঁজ হতে পারে ।
  • বাশের সাথে প্রক্রিয়া প্রতিস্থাপন রয়েছে <(cmd)এবং >(cmd)
  • বাশের জন্য সিএস-স্টাইলের সুবিধার পুনর্নির্দেশের উপকরণগুলি এর &|জন্য 2>&1 |এবং &>জন্য রয়েছে> ... 2>&1
  • বাশ <>পুনঃনির্দেশ সহ কপ্রোসেসগুলি সমর্থন করে ।
  • ব্যাশ যেমন সম্প্রসারিত অ-মানক প্যারামিটার প্রসারণও এর একটি সমৃদ্ধ সেট অতিরিক্ত বৈশিষ্ট্যগুলিও উপস্থিত রয়েছে ${substring:1:2}, ${variable/pattern/replacement}যদি রূপান্তর, ইত্যাদি
  • শ্যাশ পাটিগণিতের জন্য ব্যাশের উল্লেখযোগ্য পরিমাণে সুবিধা রয়েছে (যদিও এখনও কোনও ভাসমান-বিন্দু সমর্থন নেই)। একটি অপ্রচলিত লিগ্যাসি $[expression]সিনট্যাক্স রয়েছে যা POSIX পাটিগণিত $((expression))সিনট্যাক্সের সাথে প্রতিস্থাপন করা উচিত । (কিছু উত্তরাধিকার প্রাক-পসিক্স shবাস্তবায়ন যদিও এটি সমর্থন করে না))
  • ম্যাজিক ভেরিয়েবল পছন্দ $RANDOM, $SECONDS, $PIPESTATUS[@]এবং $FUNCNAMEব্যাশ এক্সটেনশানগুলি আছে।
  • সিন্ট্যাকটিক পার্থক্যগুলির মতো export variable=valueএবং [ "x" == "y" ]যা বহনযোগ্য নয় ( export variableভেরিয়েবল অ্যাসাইনমেন্ট থেকে পৃথক হওয়া উচিত, এবং [ ... ]একক সমান চিহ্ন চিহ্ন ব্যবহারে পোর্টেবল স্ট্রিং তুলনা )।
  • ,চ্ছিক আচরণ সক্ষম ও অক্ষম করতে এবং শেলের অভ্যন্তরীণ অবস্থা প্রকাশ করার জন্য অনেকগুলিই কেবলমাত্র ব্যাश-কেবলমাত্র এক্সটেনশান।
  • ইন্টারেক্টিভ ব্যবহারের জন্য অনেকগুলি সুবিধামত বৈশিষ্ট্য যা স্ক্রিপ্টের আচরণকে প্রভাবিত করে না।

মনে রাখবেন, এটি একটি সংক্ষিপ্ত তালিকা। সম্পূর্ণ স্কুপের জন্য রেফারেন্স ম্যানুয়ালটি দেখুন, এবং অনেক ভাল কাজের জন্য http://mywiki.wooledge.org/ বাশিজম; এবং / অথবা http://shellcheck.net/ ব্যবহার করে দেখুন যা কেবলমাত্র অনেকগুলি ব্যাশ-কেবলমাত্র বৈশিষ্ট্যের জন্য সতর্ক করে।

একটি সাধারণ ত্রুটি হল #!/bin/bashশেবাং লাইন থাকা, তবে তবুও sh scriptnameআসলে স্ক্রিপ্টটি চালানোর জন্য ব্যবহার করা। এটি মূলত কোনও বাশ-কেবল কার্যকারিতা অক্ষম করে, তাই আপনি সিনট্যাক্স ত্রুটিগুলি পান যেমন অ্যারে ব্যবহারের চেষ্টা করার জন্য। (শেবাং লাইনটি সিন্টেক্সিকভাবে একটি মন্তব্য, সুতরাং এটি এই দৃশ্যে সহজভাবে উপেক্ষা করা হবে))

দুর্ভাগ্যক্রমে, বাশ যখন আপনাকে এই নির্মাণগুলি ব্যবহার করার চেষ্টা করবে তখন সতর্ক করবে না sh। এটা সম্পূর্ণ নিষ্ক্রিয় হয় না সব যেমন ব্যাশ শুধুমাত্র কার্যকারিতা, হয়, তাই এটি আবাহন করার মাধ্যমে ব্যাশ চলমান shচেক করতে একটি ভালো উপায় নয় যদি আপনার স্ক্রিপ্টটি সঠিকভাবে পোর্টেবল হয় ash/ dash/ POSIX shবা মত রূপ heirloomsh


2
মূলত, টিএল; ডিআর এরশান হ'ল এবং এর উত্তর
ট্রিপলি

4
শেলচেক নেট.ইন আমার যা দরকার তা ছিল। অনেক ধন্যবাদ.
জোশ হাবদাস

FWIW, export variable=valuePOSIX দ্বারা বাধ্যতামূলক হয়: pubs.opengroup.org/onlinepubs/009695399/utilities/export.html । সম্ভবত এটি কিছু প্রাচীন শাঁসে উপলভ্য নয় তবে এটি অবশ্যই বাশিজম নয়।
রোমান চ্যাপলিয়াকা

53

শেল হ'ল একটি অপারেটিং সিস্টেমের পরিষেবাগুলিতে অ্যাক্সেসের জন্য ব্যবহারকারী এবং ওএসের মধ্যে একটি ইন্টারফেস। এটি জিওআই বা সিআইএল (কমান্ড লাইন ইন্টারফেস) হতে পারে।

sh (বোর্ন এল) ইউনিক্স / ইউনিক্স-এর মতো অপারেটিং সিস্টেমের জন্য একটি শেল কমান্ড-লাইন ইন্টারপ্রেটার। এটি কিছু অন্তর্নির্মিত কমান্ড সরবরাহ করে। স্ক্রিপ্টিং ভাষায় আমরা অনুবাদক হিসাবে চিহ্নিত করি #!/bin/sh। এটি অন্যান্য শেল যেমন বাশ (মুক্ত / উন্মুক্ত), কাশ (নিখরচায় নয়) দ্বারা বহুলভাবে সমর্থিত ছিল।

ব্যাশ ( বি ourne একটি লাভ গুলি জাহান্নাম) বোর্ন শেল জন্য একটি শেল প্রতিস্থাপন। বাশ হ'ল সুপার et বাশ সমর্থন করে পসিএক্স হ'ল পসিক্স-কমপ্লায়েন্ট সিস্টেমগুলি কীভাবে কাজ করা উচিত তা নির্ধারণ করে এমন মানগুলির একটি সেট। বাশ আসলে কোনও পসিক্স কমপ্লায়েন্ট শেল নয়। একটি স্ক্রিপ্টিং ভাষায় আমরা দোভাষী হিসাবে চিহ্নিত করি #!/bin/bash

সাদৃশ্য:

  • শেল একটি ইন্টারফেস বা নির্দিষ্টকরণ বা API এর মতো।
  • sh হল একটি শ্রেণি যা শেল ইন্টারফেস প্রয়োগ করে।
  • বাশ শ এর একটি সাবক্লাস।

এখানে চিত্র বর্ণনা লিখুন


3
আমি পাই না। আপনি উভয়ই "বাশ সুপারের সুপার শিট" এবং "বাশ শ এর একটি সাবক্লাস" উভয়ের উল্লেখ করেছেন, তারা কি বিপরীত বিবৃতি নয়? আপনি দয়া করে পরিষ্কার করতে পারেন?
কীর্তন প্রভাকরণ

11
আমি মনে করি এটি বাশের উত্তরাধিকার সূত্রে বলার চেষ্টা করছে sh(সুতরাং এটি ওওপি অর্থে একটি "সাবক্লাস") এবং এটি প্রসারিত করে (যাতে কার্যকারিতাটির একটি সুপারসেট থাকে)।
ট্রিপিলি

52

ইউনিক্স.কম থেকে পোস্ট

শেল বৈশিষ্ট্য

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

কোড:

                                     sh   csh  ksh  bash tcsh zsh  rc   es
Job control                          N    Y    Y    Y    Y    Y    N    N
Aliases                              N    Y    Y    Y    Y    Y    N    N
Shell functions                      Y(1) N    Y    Y    N    Y    Y    Y
"Sensible" Input/Output redirection  Y    N    Y    Y    N    Y    Y    Y
Directory stack                      N    Y    Y    Y    Y    Y    F    F
Command history                      N    Y    Y    Y    Y    Y    L    L
Command line editing                 N    N    Y    Y    Y    Y    L    L
Vi Command line editing              N    N    Y    Y    Y(3) Y    L    L
Emacs Command line editing           N    N    Y    Y    Y    Y    L    L
Rebindable Command line editing      N    N    N    Y    Y    Y    L    L
User name look up                    N    Y    Y    Y    Y    Y    L    L
Login/Logout watching                N    N    N    N    Y    Y    F    F
Filename completion                  N    Y(1) Y    Y    Y    Y    L    L
Username completion                  N    Y(2) Y    Y    Y    Y    L    L
Hostname completion                  N    Y(2) Y    Y    Y    Y    L    L
History completion                   N    N    N    Y    Y    Y    L    L
Fully programmable Completion        N    N    N    N    Y    Y    N    N
Mh Mailbox completion                N    N    N    N(4) N(6) N(6) N    N
Co Processes                         N    N    Y    N    N    Y    N    N
Builtin artithmetic evaluation       N    Y    Y    Y    Y    Y    N    N
Can follow symbolic links invisibly  N    N    Y    Y    Y    Y    N    N
Periodic command execution           N    N    N    N    Y    Y    N    N
Custom Prompt (easily)               N    N    Y    Y    Y    Y    Y    Y
Sun Keyboard Hack                    N    N    N    N    N    Y    N    N
Spelling Correction                  N    N    N    N    Y    Y    N    N
Process Substitution                 N    N    N    Y(2) N    Y    Y    Y
Underlying Syntax                    sh   csh  sh   sh   csh  sh   rc   rc
Freely Available                     N    N    N(5) Y    Y    Y    Y    Y
Checks Mailbox                       N    Y    Y    Y    Y    Y    F    F
Tty Sanity Checking                  N    N    N    N    Y    Y    N    N
Can cope with large argument lists   Y    N    Y    Y    Y    Y    Y    Y
Has non-interactive startup file     N    Y    Y(7) Y(7) Y    Y    N    N
Has non-login startup file           N    Y    Y(7) Y    Y    Y    N    N
Can avoid user startup files         N    Y    N    Y    N    Y    Y    Y
Can specify startup file             N    N    Y    Y    N    N    N    N
Low level command redefinition       N    N    N    N    N    N    N    Y
Has anonymous functions              N    N    N    N    N    N    Y    Y
List Variables                       N    Y    Y    N    Y    Y    Y    Y
Full signal trap handling            Y    N    Y    Y    N    Y    Y    Y
File no clobber ability              N    Y    Y    Y    Y    Y    N    F
Local variables                      N    N    Y    Y    N    Y    Y    Y
Lexically scoped variables           N    N    N    N    N    N    N    Y
Exceptions                           N    N    N    N    N    N    N    Y

উপরের টেবিলের চাবি।

এই শেলটি ব্যবহার করে Y বৈশিষ্ট্য সম্পন্ন করা যেতে পারে।

এন বৈশিষ্ট্য শেল উপস্থিত নেই।

এফ বৈশিষ্ট্যটি কেবল শেল ফাংশন প্রক্রিয়া ব্যবহার করে করা যেতে পারে।

L এই বৈশিষ্ট্যটি সক্ষম করতে পঠনের পাঠাগারটি অবশ্যই শেলের সাথে যুক্ত থাকতে হবে।

উপরের টেবিলের নোটস

1. This feature was not in the original version, but has since become
   almost standard.
2. This feature is fairly new and so is often not found on many
   versions of the shell, it is gradually making its way into
   standard distribution.
3. The Vi emulation of this shell is thought by many to be
   incomplete.
4. This feature is not standard but unofficial patches exist to
   perform this.
5. A version called 'pdksh' is freely available, but does not have
   the full functionality of the AT&T version.
6. This can be done via the shells programmable completion mechanism.
7. Only by specifying a file via the ENV environment variable.

আপনার টেবিলটি আমার পক্ষে কার্যকর নয় কারণ এটি বোর্ন শেলের বৈশিষ্ট্য এবং ১৯৮৮ সালের আগে থেকে ksh এর বৈশিষ্ট্যগুলির তুলনা করার চেষ্টা করে 198 , sh এবং আরসি। আপনি কী ব্যাখ্যা করতে পারেন যে আপনি কোথা থেকে আপনার টেবিলের মানগুলি পেয়েছেন?
ধীরে ধীরে 12:44 এ 20

1
আমাকে কিছু ইঙ্গিত দেওয়া যাক: 1989 সালে বোর্ন শেলের সাথে জব কন্ট্রোল যুক্ত করা হয়েছিল এবং 2005 সালে বোর্ন শেলকে ওপেনসোর্স করা হয়েছিল। কম্ন শেল কমপক্ষে 1988 সাল থেকে প্রক্রিয়া প্রতিস্থাপন করেছে এবং এটি 1997 সাল থেকে ওপেনসোর্স। বিটিডাব্লু: আপনার বক্তব্য $ ENV সম্পর্কিত সঠিক নয়, V ENV কেবল ইন্টারেক্টিভ শেলগুলির জন্য পঠন / সম্পাদিত হয়।
শিখর


@ শিচিলি আপনি যদি এটি কোথাও ভুল বলে মনে করেন তবে যথাযথভাবে এটি সম্পাদনা করতে নির্দ্বিধায় অনুভব করুন।
শ্রীনিভি

8
কী জঘন্যভাবে উদ্ঘাটিত হয়েছে তার ভিত্তিতে মনে হবে যে এই উত্তরটি মুছে ফেলা ভাল, কারণ এটি মূলত জালিয়াতিপূর্ণ, এবং ওপি সত্যই সে যে তথ্য আটকেছিল তা পরীক্ষা করে নি।
ড্যানো

24

টার্মিনাল

  • প্রোগ্রাম (গুলি) যা একটি উইন্ডো উপরে রাখে
  • এক্সটার্ম, আরএক্সভিটি, কনসোল, কেভিটি, জিনোম-টার্মিনাল, এনএক্সটারম এবং ইটার্ম।

শেল

  • টার্মিনাল চলমান একটি প্রোগ্রাম
  • শেল একটি কমান্ড দোভাষী এবং একটি প্রোগ্রামিং ভাষা উভয়ই
  • শেল হ'ল একটি ম্যাক্রো প্রসেসর যা আদেশগুলি কার্যকর করে।
  • ম্যাক্রো প্রসেসরের অর্থ কার্যকারিতা যেখানে পাঠ্য এবং চিহ্নগুলি আরও বড় এক্সপ্রেশন তৈরি করতে প্রসারিত করা হয়।

এসএইচ বনাম। BASH

শুট আউট

  • (শেল)
  • একটি নির্দিষ্ট শেল
  • একটি কমান্ড দোভাষী এবং একটি প্রোগ্রামিং ভাষা
  • বাসের পূর্বসূরী

BASH

  • (বোর্ন-অইন শেল)
  • একটি নির্দিষ্ট শেল
  • একটি কমান্ড দোভাষী এবং একটি প্রোগ্রামিং ভাষা
  • Sh কার্যকারিতা এবং আরও অনেক কিছু রয়েছে
  • এসএইচ এর উত্তরাধিকারী
  • বেস হ'ল ডিফল্ট শেল

রেফারেন্স উপাদান:

বিক্রয় gnu.org:

এর গোড়ায় শেলটি হ'ল ম্যাক্রো প্রসেসর যা কমান্ডগুলি কার্যকর করে। ম্যাক্রো প্রসেসর শব্দের অর্থ কার্যকারিতা যেখানে পাঠ্য এবং চিহ্নগুলি আরও বৃহত্তর এক্সপ্রেশন তৈরি করতে প্রসারিত করা হয়।

একটি ইউনিক্স শেল হ'ল কমান্ড ইন্টারপ্রেটার এবং প্রোগ্রামিং ভাষা উভয়ই। কমান্ড ইন্টারপ্রেটার হিসাবে, শেলটি জিএনইউ ইউটিলিটিগুলির সমৃদ্ধ সেটটিতে ব্যবহারকারী ইন্টারফেস সরবরাহ করে। প্রোগ্রামিং ভাষার বৈশিষ্ট্যগুলি এই ইউটিলিটিগুলিকে একত্রিত করার অনুমতি দেয়। কমান্ডযুক্ত ফাইলগুলি তৈরি করা যায় এবং সেগুলি নিজেরাই কমান্ডে পরিণত হতে পারে। এই নতুন কমান্ডগুলিতে / বিন এর মতো ডিরেক্টরিতে সিস্টেম কমান্ডের সমান স্থিতি রয়েছে, যা ব্যবহারকারী বা গোষ্ঠীগুলিকে তাদের সাধারণ কাজগুলি স্বয়ংক্রিয় করতে কাস্টম এনভায়রনমেন্ট স্থাপন করতে দেয়।

শেলগুলি ইন্টারেক্টিভ বা অ-ইন্টারেক্টিভভাবে ব্যবহার করা যেতে পারে। ইন্টারেক্টিভ মোডে, তারা কীবোর্ড থেকে টাইপ করা ইনপুট গ্রহণ করে। অ-ইন্টারেক্টিভভাবে কার্যকর করার সময়, শেলগুলি কোনও ফাইল থেকে পড়া কমান্ডগুলি কার্যকর করে।

একটি শেল সিএনক্রোনালি এবং অ্যাসিনক্রোনালি উভয়ভাবে জিএনইউ কমান্ড কার্যকর করতে দেয়। শেলটি আরও ইনপুট গ্রহণের আগে সিঙ্ক্রোনাস কমান্ডগুলি সম্পূর্ণ হওয়ার জন্য অপেক্ষা করে; অ্যাসিক্রোনাস কমান্ডগুলি শেলটির সমান্তরালে কার্যকর হতে থাকে যখন এটি অতিরিক্ত কমান্ডগুলি পড়ে এবং প্রয়োগ করে। পুনঃনির্দেশগুলি কমান্ডগুলির ইনপুট এবং আউটপুটটির সূক্ষ্ম দানযুক্ত নিয়ন্ত্রণের অনুমতি দেয়। তদতিরিক্ত, শেল কমান্ডের পরিবেশের বিষয়বস্তু নিয়ন্ত্রণ করতে দেয়।

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

কমান্ডগুলি কার্যকর করা অপরিহার্য, শেলগুলির বেশিরভাগ শক্তি (এবং জটিলতা) তাদের এমবেডড প্রোগ্রামিং ভাষার কারণে। যে কোনও উচ্চ-স্তরের ভাষার মতো শেলটি ভেরিয়েবল, ফ্লো কন্ট্রোল কনস্ট্রাক্টস, কোটিং এবং ফাংশন সরবরাহ করে।

শেলগুলি প্রোগ্রামিংয়ের ভাষা বাড়ানোর পরিবর্তে ইন্টারেক্টিভ ব্যবহারের জন্য বিশেষভাবে গিরিযুক্ত বৈশিষ্ট্যগুলি সরবরাহ করে। এই ইন্টারেক্টিভ বৈশিষ্ট্যগুলির মধ্যে রয়েছে জব নিয়ন্ত্রণ, কমান্ড লাইন সম্পাদনা, কমান্ডের ইতিহাস এবং উপাধি। এই প্রতিটি বৈশিষ্ট্য এই ম্যানুয়ালটিতে বর্ণিত হয়েছে।

BASH gnu.org:

জিএনইউ অপারেটিং সিস্টেমের জন্য বাশ হ'ল শেল বা কমান্ড ল্যাঙ্গুয়েজ ইন্টারপ্রেটার। নামটি 'বোর্ন-অগেইন শেল' এর সংক্ষিপ্ত রূপ, বর্তমান ইউনিক্স শেল সি-এর সরাসরি পূর্বপুরুষের লেখক স্টিফেন বোর্নের একটি পাট, যা ইউনিক্সের সপ্তম সংস্করণ বেল ল্যাবস গবেষণা সংস্করণে প্রকাশিত হয়েছিল।

বাশ মূলত sh এর সাথে সামঞ্জস্যপূর্ণ এবং কর্ন শেল ksh এবং সি শেল সিএসএস থেকে দরকারী বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করে। এটি আইইইই পসিক্স শেল এবং আইইইই পসিক্স স্পেসিফিকেশন (আইইইই স্ট্যান্ডার্ড 1003.1) এর অংশের অংশ হিসাবে কার্যকর প্রয়োগ করার উদ্দেশ্যে to এটি ইন্টারেক্টিভ এবং প্রোগ্রামিং উভয় ব্যবহারের জন্য sh এর চেয়ে বেশি কার্যকরী উন্নতি সরবরাহ করে।

জিএনইউ অপারেটিং সিস্টেম সিএসএসের সংস্করণ সহ অন্যান্য শেল সরবরাহ করে, বাশ ডিফল্ট শেল । অন্যান্য জিএনইউ সফ্টওয়্যারগুলির মতো, ব্যাশও যথেষ্ট বহনযোগ্য। এটি বর্তমানে ইউনিক্স এবং অন্যান্য কয়েকটি অপারেটিং সিস্টেমের প্রায় প্রতিটি সংস্করণে চলে - এমএস-ডস, ওএস / ২ এবং উইন্ডোজ প্ল্যাটফর্মগুলির জন্য স্বতন্ত্র-সমর্থিত পোর্টগুলি বিদ্যমান।


14

অন্যান্য উত্তরগুলি সাধারণত বাশ এবং একটি পসিক্স শেল স্ট্যান্ডার্ডের মধ্যে পার্থক্য চিহ্নিত করে। যাইহোক, পোর্টেবল শেল স্ক্রিপ্টগুলি লেখার সময় এবং ব্যাশ সিনট্যাক্সে ব্যবহার করার সময়, সাধারণত বাশিজমের একটি তালিকা এবং সংশ্লিষ্ট বিশুদ্ধ POSIX সমাধান খুব কার্যকর। উবুন্টু বাশ থেকে ড্যাশ-এ ডিফল্ট সিস্টেম শেল হিসাবে স্যুইচ করলে এই তালিকাটি সংকলিত হয়েছে এবং এখানে পাওয়া যাবে: https://wiki.ubuntu.com/DashAsBinSh

তদ্ব্যতীত , চেকব্যাশিজম নামে একটি দুর্দান্ত সরঞ্জাম রয়েছে যা আপনার স্ক্রিপ্টে বাশিজমগুলির জন্য পরীক্ষা করে এবং আপনার স্ক্রিপ্টটি বহনযোগ্য that


এটি হ'ল আমার উত্তরটি এখনই সত্যিই ফুটে উঠেছে। +1
ট্রিপলি

7

এগুলি প্রায় অভিন্ন হলেও bashএর আরও বৈশিষ্ট্য রয়েছে - shএটি (কম বেশি) একটি পুরানো সাবসেট bash

shপ্রায়শই আসলটি বোঝায় Bourne shell, যা পূর্বাভাস দেয় bash( Bourne *again* shell) এবং এটি 1977 সালে নির্মিত হয়েছিল But

শেলটি দিয়ে শুরু হওয়া #!/bin/shবা ব্যবহার করা স্ক্রিপ্টগুলি shসাধারণত পিছনের সামঞ্জস্যের জন্য এটি করে। যে কোনও ইউনিক্স / লিনাক্স ওএসের shশেল থাকবে। উবুন্টু shপ্রায়শই অনুরোধ করে dashএবং ম্যাকোস এ এটির একটি বিশেষ পসিক্স সংস্করণ bash। এই শাঁসগুলি মান-সম্মতিজনক আচরণ, গতি বা পিছনের দিকে সামঞ্জস্যের জন্য পছন্দ করা যেতে পারে।

bashমূলটির চেয়ে নতুন sh, আরও বৈশিষ্ট্য যুক্ত করে এবং পিছনের সাথে সামঞ্জস্যপূর্ণ হতে চায় sh। তত্ত্ব অনুসারে, shপ্রোগ্রামগুলি চালু হওয়া উচিত bashbashপ্রায় সমস্ত লিনাক্স / ইউনিক্স মেশিনে উপলব্ধ এবং সাধারণত ডিফল্টরূপে ব্যবহৃত হয় - ম্যাকওএসের উল্লেখযোগ্য ব্যতিক্রম zshক্যাটালিনা (10.15) হিসাবে ব্যবহৃত হয়। ডিফল্টরূপে ফ্রিবিএসডি bashইনস্টলড আসে না ।


shPOSIX এর অনেক পূর্বে এই দিনগুলিতে, আপনি আশা করবেন যে shআপনি যে কোনওটিকে খুঁজে পান কমপক্ষে পসিক্স-সামঞ্জস্যপূর্ণ; তবে লিগ্যাসি সিস্টেমগুলিতে এটি কোনওভাবেই দেওয়া হয়নি। পসিক্স শেলের চেয়ে অনেক বেশি স্ট্যাডার্ডাইজ করে; প্রকৃতপক্ষে, আপনি তর্ক করতে পারেন যে অপারেটিং সিস্টেম কল এবং গ্রন্থাগার ফাংশনগুলির মানিককরণ আরও গুরুত্বপূর্ণ।
ট্রিপলি

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

3

/bin/shবা একই প্রোগ্রাম হিসাবে প্রার্থনা করতে পারে না /bin/bash

shকমপক্ষে POSIX দ্বারা প্রয়োজনীয় বৈশিষ্ট্যগুলিকে সমর্থন করে (সঠিক বাস্তবায়ন অনুমান করে)। এটি এক্সটেনশনগুলিকেও সমর্থন করতে পারে।

bash, "বোর্ন অ্যাগেইন শেল", sh প্লাস ব্যাশ-নির্দিষ্ট এক্সটেনশনের জন্য প্রয়োজনীয় বৈশিষ্ট্যগুলি কার্যকর করে। এক্সটেনশনের পুরো সেটটি এখানে বর্ণনার জন্য খুব দীর্ঘ এবং এটি নতুন প্রকাশের সাথে পরিবর্তিত হয়। পার্থক্যগুলি ব্যাশ ম্যানুয়ালটিতে নথিভুক্ত করা হয়েছে। info bash"বাশ বৈশিষ্ট্যগুলি" বিভাগটি (বর্তমান সংস্করণে বিভাগ 6) টাইপ করুন এবং পড়ুন বা বর্তমান ডকুমেন্টেশন অনলাইনে পড়ুন


shযদি PATHআপনার বর্তমান শেলটিতে সঠিকভাবে সেট আপ থাকে তবে কেবলমাত্র আপনাকে একটি পসিক্স শেল দেয় । কোনও সংজ্ঞায়িত PATH- নাম নেই যা আপনাকে একটি পসিক্স শেল দেয়।
ধীরে ধীরে

একটি দীর্ঘ সময়ের জন্য, shঅগত্যা ছিল এমনকি আপনি যদি একটি POSIX শেল, সোলারিস উপর, উদাহরণস্বরূপ দেয়।
ট্রিপলি

3

বাশ এবং শ দুটি আলাদা শাঁস। মূলত বাশ শ, আরও বৈশিষ্ট্য এবং আরও ভাল সিনট্যাক্স সহ is বেশিরভাগ কমান্ড একই কাজ করে তবে সেগুলি আলাদা। ব্যাশ (বাশ) অনেকগুলি উপলভ্য (এখনও সর্বাধিক ব্যবহৃত) ইউনিক্স শেলগুলির মধ্যে একটি। বাশ বলতে বোঝায় "বোর্ন অ্যাগেইন শেল" এবং এটি মূল বোর্ন শেল (শে) এর প্রতিস্থাপন / উন্নতি।

শেল স্ক্রিপ্টিং যে কোনও শেলের মধ্যে স্ক্রিপ্টিং হয়, যেখানে ব্যাশের জন্য স্ক্রিপ্টিং বিশেষত স্ক্রিপ্ট হয়। অনুশীলনে, তবে, "শেল স্ক্রিপ্ট" এবং "ব্যাশ স্ক্রিপ্ট" প্রায়শই আন্তঃবিস্মরণীয়ভাবে ব্যবহৃত হয়, যদি না প্রশ্নটিতে থাকা শেলটি বাশ না করে।

এটি বলার পরে, বেশিরভাগ সিস্টেমে আপনার / বিন / শ অনুধাবন করা উচিত একটি প্রতীকী লিঙ্ক এবং এইচ.কে. উবুন্টু / বিন / এস-এ ব্যাশের সাথে লিঙ্ক ব্যবহার করা হত, লিনাক্স বিতরণে সাধারণ আচরণ, তবে এখন ড্যাশ নামে অন্য শেলের সাথে সংযোগ স্থাপনে পরিবর্তিত হয়েছে। আমি বাশ ব্যবহার করব, কারণ এটি বেশ মানক (বা আমার অভিজ্ঞতা থেকে কমপক্ষে সাধারণ)। প্রকৃতপক্ষে, সমস্যাগুলি দেখা দেয় যখন কোনও ব্যাশ স্ক্রিপ্ট #! / বিন / শ ব্যবহার করবে কারণ স্ক্রিপ্ট-নির্মাতা ধরে নিচ্ছে লিঙ্কটি যখন ব্যাশ করার দরকার নেই তখন তা করা দরকার।


0

যতটা সম্ভব পার্থক্যগুলি: একটি প্রাথমিক বোঝার পরে, উপরে পোস্ট করা অন্যান্য মন্তব্যগুলি ধরা সহজ হবে।

শেল - "শেল" একটি প্রোগ্রাম, যা ব্যবহারকারী এবং অপারেটিং সিস্টেমের (কার্নেল) মধ্যে মিথস্ক্রিয়াটিকে সহজতর করে। Sh, bash, csh, zsh ... ইত্যাদির মতো অনেকগুলি শেল বাস্তবায়ন উপলব্ধ।

শেল প্রোগ্রামগুলির যে কোনও একটির সাহায্যে আমরা সেই শেল প্রোগ্রাম দ্বারা সমর্থিত কমান্ডগুলি কার্যকর করতে সক্ষম হব।

ব্যাশ - এটি থেকে প্রাপ্ত বি ourne- একটি লাভ Sh ইএলএল। এই প্রোগ্রামটি ব্যবহার করে, আমরা শেল দ্বারা নির্দিষ্ট সমস্ত কমান্ড কার্যকর করতে সক্ষম হব। এছাড়াও, আমরা এই প্রোগ্রামটিতে বিশেষভাবে যুক্ত হওয়া কয়েকটি কমান্ড কার্যকর করতে সক্ষম হব। শের সাথে বাশের পিছনে সামঞ্জস্য রয়েছে।

শ - এটি বোর্ন থেকে প্রাপ্ত এল । "sh" শেলটিতে উল্লিখিত সমস্ত কমান্ডকে সমর্থন করে। মানে, এই প্রোগ্রামটি ব্যবহার করে, আমরা শেল দ্বারা নির্দিষ্ট সমস্ত কমান্ড কার্যকর করতে সক্ষম হব।

আরও তথ্যের জন্য, করুন: - https://man.cx/sh - https://man.cx/bash


POSIX বোঝার জন্য প্রতিক্রিয়া পড়তে অ্যালেক্স দয়া করে চেক করুন: stackoverflow.com/a/1780614/1261003
Raihanhbh

আমি পসিক্স বোঝার চেষ্টা করছি না। আমি আপনার উত্তরটি পর্যালোচনা করছি এবং এর মতো আপনার এটির উত্তরটি আমার মূল্য যুক্ত করে need আমি এটা মনে করি না।
স্ক্র্যাটে

আমি বিশ্বাস করি যে এই ছোটখাটো ব্যাখ্যাগুলি উপরোক্ত আলোচনায় ব্যবহৃত ন্যায্যটিকে আরও স্বাচ্ছন্দ্যে বুঝতে একটি নবজাতককে সহায়তা করবে। @ স্ক্র্যাটে
রায়হানভ

-1

লিনাক্স অপারেটিং সিস্টেম বিভিন্ন ধরণের শেল সরবরাহ করে। যদিও শেলগুলিতে প্রচুর কমান্ড রয়েছে তবে প্রতিটি ধরণের স্বতন্ত্র বৈশিষ্ট্য রয়েছে। আসুন বিভিন্ন ধরণের বেশিরভাগ ব্যবহৃত শেল অধ্যয়ন করি।

এস শেল:

Sh শেল বোর্ন শেল নামেও পরিচিত। এস শেল হ'ল এটিিক্স এবং টি এর বেল ল্যাবগুলিতে 1977 সালে স্টিফেন বোর্নের দ্বারা ইউনিক্স কম্পিউটারগুলির জন্য বিকাশ করা প্রথম শেল It এতে অনেক স্ক্রিপ্টিং সরঞ্জাম অন্তর্ভুক্ত রয়েছে।

বাশ শেল:

বাশ শেলটি বোর্ন অ্যাগেইন শেলকে বোঝায়। বেশিরভাগ লিনাক্স বিতরণে শ্যাশটি ডিফল্ট শেল এবং শ শেলের বিকল্প (শেল শ্যাশও ব্যাশ শেলটিতে চলবে)। বাশ শেল সংশোধন ছাড়াই শেল স্ক্রিপ্টের বিশাল সংখ্যাগরিষ্ঠ কার্যকর করতে পারে এবং কমান্ড লাইন সম্পাদনা বৈশিষ্ট্যও সরবরাহ করতে পারে।


এর আগে কেন থম্পসনের একটি শেল ছিল। বোর্ন শেলটি আনুষ্ঠানিকভাবে v7 ইউনিক্সে প্রবর্তিত হয়েছিল (1979)
ট্রিপলি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.