باش (يونكس)
باش هو مُفسِّر سطر الأوامر (الغلاف أوالصَّدَفة) الذي كُتب من قبل المطورين ضمن مشروع جنو. والاسم هو اختصار لِـBourne-again shell — وهي تلاعب صوتي بين اسمي (Bourne again و born again، حيث أن الصدفة sh والمعروفة باسم كاتبها Bourne، والذي كان الغلاف الأوسع انتشارا في الفترة التي سبقت كتابة bash، وأحد أهم أجزاء نظام يونكس.
كانت صدفة بورن (Borne) قد وزعت مع النسخة السابعة من يونكس، في حدود عام 1978. والنسخة الأصلية منها كتبت على يد ستيفان بورن حيث كان في تلك الفترة أحد الباحثين في مختبرات بل. أما الصدفة باش فكتبت عام 1987 على يد براين فوكس. وفي عام 1990، أصبح شيت رامي المطور الرئيسي للصدفة باش. وتستخدم باش ليوم كصدفة قياسية لمعظم نسخ لينكس وعلى نظام Mac OS X Tiger ويمكن تشغيلها على كل الأنظمة الشبيهة بيونكس تقريبا. كما تم استقدامها إلى بيئة مايكروسوفت ويندوز ضمن مشروعي Cygwin و DJGPP.Bash هو معالج أوامر الذي عادة يعمل في نافذة نص، مما يتيح للمستخدم أن يكتب الأوامر التي تتسبب في الإجراءات. Bash يمكنه أيضا قراءة الأوامر من الملف. الذي يسمى سكريبت (نص). مثل جميع أوعية يونيكس، وهو يدعم اسم الملف، wildcarding و piping و here documents و command substitution و variables و control structuresلأختبار الحالة والتكرارcondition-testing and iteration. تم نسخ جميع الكلمات الرئيسية وقواعد اللغة والميزات الأساسية الأخرى للغة من الخصائص الأخرى لـ sh، على سبيل المثال، التاريخ history، تم نسخه من csh و ksh. Bash هي وعاء بوسيكس POSIX لكن مع عدد من الملحقات.
الاسم نفسه هو اختصار، كناية ووصفية. كاختصارا، لأنها مترشحة لوعاء بورن Bourne shell ثانيةً، بإشارة إلى هدفها كبديل حر لبورن Bourne شل Bourne shell.
ككناية، وحددت أن الهدف في العبارة الذي يبدو كما لو كانت ولدت من جديد ،born again وهو مصطلح لولادة جديدة الروحية. اسم وصفي أيــضا لما فعلت، يســـحق معاً مميزات
sh و csh و ksh.
فوكس بدأ ترميز Bash في 10 يناير 1988 بعد أن أصبح ريتشارد ستالمان غير راض عن عدم وجود تقدم يحرزه من المطور السابق ستالمان ومؤسسة البرمجيات الحرة (إف إس إف) Free Software Foundation (FSF) تعتبر الوعاء الحرة التي يمكن أن تشغيل نص sh الحالي خطة الاستراتيجية إلى نظام حر من ترميز BSD و GNU بأن هذا كان واحدا من المشاريع القليلة التي أسسوها بأنفسهم، مع تعهد فوكس القيام بالعمل كموظف في مؤسسة البرمجيات الحرة FSF.
. فوكس أصدرت Bash باعتباره بيتا، الإصدار.99، في 7 يونيو 1989 وظل المصين الابتدائي حتى بين في منتصف عام 1992 ، ومنتصف عام 1994, عندما تم الاستغناء عنه من قبل مؤسسة البرمجيات الحرة FSF وانتقلت مسؤوليته لمساهم آخر في وقت مبكر، شيت رامي Chet Ramey.
صيغة أمر Bash مجموعة شاملة من صيغ أمر وعاء بورن Bourne shell. الغالبية العظمى من نصوص وعاء بورن Bourne shell يمكن تنفيذها بواسطة Bash بدون تعديل، باستثناء نصوص وعاء بورن Bourne shell المتعثرة في الصيغ الهامشية وتفسير سلوكها مختلف في Bash أو عن طريق محاولة تشغيل أوامر مطابقة لنظام Bash أحدث المدمج، وما إلى ذلك. قواعد أمر Bash تتضمن أفكار مستمدة من وعاء كورن Korn shell (ksh) ووعاء C C shell (csh) مثل تحرير سطر الأوامر، وتاريخ الأمر، دليل المكدس ،ومتغيرات $RANDOM و$PPID، وقواعد استبدال الأمر بوسيكس POSIX command substitution syntax $(…). عندما تستخدم كوعاء لأمر تفاعلي والضغط على مفتاح Tab، تلقائيا سوف يتستخدم Bash استكمال سطر الأمر للمطابقة الجزئية لأسماء البرامج، وأسماء الملفات وأسماء المتغيرات.
قواعد Bash لها أمتدادات كثيرة التي تفتقر إليها وعاء بورنShell Bourne. يمكن لـ Bash أداء الحسابات للأرقام الصحيحة دون توليد لعمليات خارجية، خلافا لوعاء بورنshell Bourne. Bash يستخدم أمر ((...)) و((...))$ قواعد اللغة المتغيرة لهذا الغرض. قواعد Bash تبسط إعادة التوجيه I/O redirection بطرق ليست ممكنة في وعاء بورن Bourne Shell التقليدي. على سبيل المثال، Bash يمكنه توجيه الإخراج القياسي standard output (stdout)، والخطأ المعياري standard error (stderr) في نفس الوقت باستخدام مشغل &>. وهذا أبسط من كتابة الأمر الذي يعادله في وعاء بورن Bourne shell> file 2>&1'. عند استخدام الكلمة المفتاحية 'function' فإن عرض وظيفة Bash غير متوافقة مع نصوص Bourne/Korn/POSIX (الوعاء كورن Korn shell لديه نفس المشكلة عند استخدام 'function')، ولكن Bash يقبل نفس قواعد عرض الوظيفة كما في أوعية بورن Bourne وأوعية كورن Korn، ومتوافقة مع مقياس POSIX. وبسبب هذه الخلافات وغيرها، نصوص وعاء Bash نادرا ما يتم العمل بها من قبل مترجمين وعاء بورنshell Bourne أو كورنkorn shell إلا عندما يتم كتابتها عمداً مع وضع هذا التوافق في الاعتبار، والذي أصبحت أقل شيوعا عندما أصبحت لينكس أكثر انتشارا. ولكن في وضع بوسيكس، POSIX mode , فإن مطابقة Bash مع بوسيكس Posix هو مثالي.
Bash يدعم هنا الوثائق here documents مثل ما تفعل دائماً وعاء بورن Bourne shell. ومع ذلك، منذ الإصدار b 2.05 أصبح Bash يمكنه إعادة توجيه الإدخال القياسي standard input (stdin) من "here string" باستخدام مشغل «يونيكس لديها نصوص نظام ملتوي ل Bash الذي تنتهك بشكل فعال أمر تحميل النصوص الشرعية عن طريق تحميل النصوص في وقت مبكر جدا أو محاولة الجمع بين بدء تشغيل Bash مع نصوص بدء التشغيل لأوعية (قشور) أخرى بطرق مختلفة. [citation needed]
نصوص الوعاء (القشرة) المكتوبة بـميزات Bash المحددة (bashisms) لن تعمل على نظام يستخدم وعاء بورن Bourne shell أو أحد بدائلها، ما لم يتم أيضا تثبيت Bash وجعل النص يبدأ بـ "shebang line" من #!/bin/bash موجه المترجم interpreter directive بدلا من #!/bin/sh.
الاختصارات التالية تعمل عند استخدام الارتباطات الرئيسية الافتراضية (ايماكس). الحاق Vi- ممكنة عن طريق تشغيل مجموعة -o vi.