ما هو سكربت باش؟

What Is Bash Script



هل سمعت من قبل والدك يخبرك بشرب كوب من الماء؟ لديك خيار أن تقول لا ، لكن أجهزة الكمبيوتر ليس لديها هذا الخيار. ستقوم أجهزة الكمبيوتر بعمل ما تريد أن تفعله بالضبط. Bash هي مجرد صدفة تسمح لك بالاتصال بالكمبيوتر وتسمح لك بإعطاء التعليمات له. البرنامج النصي هو في الأساس مجرد مجموعة من التعليمات المعطاة للكمبيوتر لتنفيذ مهام مختلفة ذات مغزى. يساعدك البرنامج النصي على أتمتة المهام المختلفة جنبًا إلى جنب مع الرفاهية لتحقيق النتائج بشكل أسرع من الإجراء العادي. عادةً ، في المحطة الطرفية ، تكتب أمر bash أساسيًا أو متقدمًا ويتم تنفيذه على الفور. في نصوص bash النصية ، يمكنك إعطاء تعليمات أو أوامر متعددة في وقت واحد ولن يقوم الكمبيوتر بتنفيذها جميعًا إلا عندما تقوم بتنفيذ البرنامج النصي. باختصار ، يمكن تنفيذ أمر bash واحد في المحطة ، ولكن لتنفيذ مجموعة من الأوامر المتعددة في وقت واحد ، تحتاج إلى إنشاء برنامج نصي bash.

لماذا تعتبر باش مفيدة ولمن هي مفيدة؟

إذا كنت تريد المزيد من التحكم في نظام التشغيل الخاص بك وترغب في أداء مهام مختلفة متعلقة بنظام التشغيل ، فإن bash هو طريقك للذهاب. من خلال bash ، لا نشير فقط إلى لغة البرمجة النصية ولكن أيضًا إلى الأدوات التي تأتي مع نظام التشغيل Linux. كل أداة على نظام Linux لها عملها وكل منها يؤدي مهمة مختلفة على حدة. يعد Bash مفيدًا حقًا عندما تحتاج إلى دمج كل هذه الأدوات وربطها معًا بطريقة تعمل جميعها في انسجام لإنجاز مهمة يصعب فعلها بطريقة أخرى. على سبيل المثال ، يمكن أيضًا تنفيذ أي شيء له علاقة بنظام التشغيل Linux بلغات برمجة أخرى مثل Python أو Perl ولكن من الصعب جدًا إنجاز مهام مختلفة متعلقة بنظام التشغيل. طريقة بسيطة ، بالأبيض والأسود ، وأسهل طريقة لفعل أي شيء يتعلق بنظام التشغيل Linux هي استخدام bash. بالنسبة لأي شخص يريد أداء مهام تتضمن أدوات نظام التشغيل Linux (مثل ls و cd و cat و touch و grep وما إلى ذلك) ، من المفيد حقًا له / لها تعلم bash بدلاً من أي لغة برمجة أخرى.







كيف يقارن Bash بلغات البرمجة الأخرى؟

إذا تحدثنا عن bash فإننا نعلم أن bash ليست لغة برمجة للأغراض العامة ولكنها مترجم لسطر الأوامر. يعد Bash مفيدًا حقًا لأداء المهام حول الأدوات والعمليات المختلفة مع القدرة على الجمع بين العمليات المختلفة معًا وجعلها جميعًا تعمل نحو هدف واحد. يعد Bash مفيدًا حقًا عندما يتعلق الأمر بالتعامل مع المدخلات والمخرجات ومعالجتها وهو أمر صعب حقًا القيام به في لغات البرمجة العامة الأخرى مثل python و C وما إلى ذلك ، ومع ذلك ، عندما يتعلق الأمر بهياكل البيانات والمهام المعقدة مثل مثل معالجة البيانات المعقدة ، لا يمكن لـ bash التعامل مع مثل هذه المهام وعلينا أن نتطلع إلى لغات البرمجة مثل Python و Perl و C وما إلى ذلك. في لغات البرمجة ، يمكنك إنشاء برنامج أو أداة ولكن لا يمكنك إنشاء أي منهما في bash. ومع ذلك ، يمكنك استخدام bash لتشغيل الأدوات أو دمج تلك الأدوات معًا للعمل بكفاءة. إنه مثل بناء صاروخ ، إذا أخذنا في الاعتبار هذه الاستعارة ، فستساعدك لغات البرمجة في بناء الصاروخ بينما سيساعدك bash على قيادة الصاروخ ويساعدك على تحديد اتجاهه ويساعدك على الهبوط به على القمر أو المريخ.



كيف تنشئ وتشغل باش سكربتات؟

لإنشاء برنامج نصي bash ، يجب عليك إنشاء ملف نصي أولاً بامتداد .sh في نهاية اسم الملف. يمكنك إنشاء ملف البرمجة النصية bash باستخدام Terminal.



$لمس. اتصال. صلةscript.sh


بعد كتابة الأمر أعلاه ، اضغط على مفتاح الإدخال وسيكون لديك ملف برمجة نصية bash تم إنشاؤه في دليل العمل الحالي. لكن هذا ليس كل شيء ، لقد أنشأنا ملف البرمجة النصية ولكن علينا تنفيذ إجراءات معينة لإكمال النص وتشغيله. بادئ ذي بدء ، افتح ملف البرمجة النصية في محرر nano أو gedit واكتب في السطر الأول:





#!/bin/bash


هذا هو السطر الأول القياسي لكل ملف برمجة نصية bash مما يساعد على التعرف عليه كبرنامج نصي باش. لن يتم اعتبار أي نص برمجي لا يحتوي على #! / bin / bash في السطر الأول كبرنامج نصي باش ، لذا تأكد من إضافة هذا السطر إلى أعلى كل نص برمجي. بمجرد إضافة هذا السطر ، يمكنك الآن البدء في الكتابة في البرنامج النصي. على سبيل المثال ، سأكتب هنا أمر صدى بسيط:

$رما - طرد - قذفهذا هو LinuxHint ، أفضل منصة تعليميةلسحق


بمجرد كتابة هذا الأمر ، يمكنك الآن المضي قدمًا في حفظه والعودة إلى الجهاز الطرفي. اكتب في محطتك:



$ls -إلى


يمكنك أن ترى 'script.sh' مكتوبًا باللون الأبيض وهو علامة على أن البرنامج النصي هو ملف غير قابل للتنفيذ حيث أن الملفات القابلة للتنفيذ عادة ما تكون باللون الأخضر. علاوة على ذلك ، ألق نظرة على الجانب الأيسر حيث يمكننا رؤية نمط مثل -rw-r-r- والذي يعكس أن الملف قابل للقراءة والكتابة فقط.
الجزء الأول الذي يحتوي على 'rw' هو الأذونات الممنوحة للمالك المحتمل أنه المستخدم الحالي.

الجزء الثاني الذي يحتوي على 'r' هو إذن للمجموعة التي لدينا فيها عدة مستخدمين.

بينما الجزء الثالث الذي يحتوي على 'r' هو إذن للجمهور مما يعني أنه يمكن لأي شخص الحصول على هذه الأذونات للملف المذكور.

يرمز الحرف 'r' إلى أذونات القراءة ، و 'w' إلى أذونات الكتابة ، بينما يرمز الحرف 'x' إلى الأذونات القابلة للتنفيذ. من الواضح أننا لا نرى x مقابل 'script.sh'. لإضافة أذونات قابلة للتنفيذ ، هناك طريقتان للقيام بذلك.

طريقة 1

في هذه الطريقة ، يمكنك كتابة أمر chmod بسيط مع '+ x' وسيضيف الأذونات القابلة للتنفيذ.

$chmod+ x script.sh


ومع ذلك ، فهذه ليست الطريقة الأكثر فاعلية لمنح أذونات قابلة للتنفيذ لأنها تمنح أذونات قابلة للتنفيذ ليس فقط للمالك ولكن للمجموعة والعامة أيضًا والتي لا نريدها بالتأكيد لأسباب أمنية. إلق نظرة:

الطريقة الثانية

في هذه الطريقة ، يمكنك استخدام الأرقام لإملاء أذونات الملف. قبل أن ننتقل إلى ذلك ، أود أن أعطيك فكرة موجزة عما تعنيه هذه الأرقام وكيف يمكنك استخدامها للتلاعب بالأذونات.
قراءة = 4
اكتب = 2
تنفيذ = 1
ستكون أرقام الأذونات مكونة من ثلاثة أرقام بعد الأمر chmod ويمثل كل رقم أذونات المالك والمجموعة وآخرين (عام). على سبيل المثال ، لمنح أذونات القراءة والكتابة والتنفيذ للمالك وقراءة الأذونات للمجموعة والآخرين سيكون شيئًا من هذا القبيل:

$chmod 744script.sh


إذا لاحظت ذلك ، فستدرك أننا أضفنا أرقام القراءة والكتابة والتنفيذ للمالك في الرقم الأول مثل 4 + 2 + 1 = 7 ، وبالنسبة للمجموعة والآخرين نستخدم رقم القراءة أي 4.

قم بتشغيل Bash Script

الآن وصلنا أخيرًا إلى علامة يمكننا من خلالها تشغيل البرنامج النصي bash. لتشغيل البرنامج النصي bash الخاص بك ، تحتاج إلى التأكد من أنك في دليل العمل الحالي حيث يوجد البرنامج النصي الخاص بك. إنه ليس إلزاميًا ولكن بهذه الطريقة يكون الأمر سهلاً حيث لا يتعين عليك كتابة المسار بالكامل. بمجرد الانتهاء من ذلك ، تابع الآن واكتب في Terminal ./nameofscript.sh. في حالتنا ، اسم البرنامج النصي هو 'script.sh' ، لذلك نكتب:

$./script.sh

3 أمثلة بسيطة على Bash Script

مرحبًا LinuxHint
بادئ ذي بدء ، سننشئ ملف bash في دليل العمل الحالي:

$نانوF_script.sh


يجب أن تكتب داخل الملف ما يلي:

#!/bin/bash
رما - طرد - قذف 'مرحبًا LinuxHint'


بمجرد كتابته ، حاول الآن الضغط على Ctrl + O لكتابة تغييرات الملف ، ثم إذا كنت تريد الاحتفاظ بالاسم بنفس الضغط ، فقم بتحرير الاسم ، ثم اضغط على Enter. الآن اضغط على Ctrl + X للخروج من محرر nano. الآن سترى ملفًا باسم F_script.sh في دليلك الحالي.
لتشغيل هذا الملف ، يمكنك تغيير أذوناته لجعله قابلاً للتنفيذ أو يمكنك كتابة:

$سحقF_script.sh


قيادة الصدى
عندما نتحدث عن أمر echo ، يتم استخدامه ببساطة لطباعة كل ما تريد طباعته طالما أنه مكتوب داخل علامات الاقتباس. عادةً عندما تقوم بتشغيل أمر echo بدون أي علامة ، فإنه يترك سطرًا ثم يطبع الإخراج. على سبيل المثال ، إذا كان لدينا نص:

#!/bin/bash
رما - طرد - قذف 'اطبع في السطر التالي'

بعد حفظه ، إذا قمنا بتشغيله:

$سحقF_script.sh


إذا استخدمنا العلم '-n' مع صدى ، فإنه يطبع على نفس السطر.

#!/bin/bash
رما - طرد - قذف 'طباعة على نفس السطر'

بعد حفظه ، إذا قمنا بتشغيله:

$سحقF_script.sh


وبالمثل ، إذا استخدمنا ' n' أو ' t' ضمن علامتي الاقتباس المزدوجة ، فسيتم طباعتها كما هي.

#!/bin/bash
رما - طرد - قذف 'ناطبع tنفس الخطن'


ومع ذلك ، إذا استخدمنا العلامة '-e' ، فلن يختفي كل شيء فحسب ، بل يطبق أيضًا n و t ويمكنك رؤية التغييرات في الإخراج أدناه:

#!/bin/bash
رما - طرد - قذف 'ناطبع tنفس الخطن'


التعليقات في BASH
التعليق عبارة عن سطر لا يهم الكمبيوتر. كل ما تكتبه كتعليق يتم إبطاله أو تجاهله من قبل الكمبيوتر وليس له أي تأثير على الإطلاق على الكود المكتوب. تُعتبر التعليقات عادةً طريقة مفيدة أكثر للمبرمج لفهم منطق الكود بحيث أنه عندما يعود لإعادة العمل على أجزاء الكود ، يمكن أن تذكره هذه التعليقات بالمنطق والأسباب التي دفعته إلى كتابة كود برمجي معين. طريق. يمكن أيضًا استخدام التعليقات من قبل المبرمجين الآخرين الذين قد يرغبون في إجراء تغييرات على الكود. إذا كنت قد كتبت جزءًا من التعليمات البرمجية ولا تريد إزالته ولكنك تريد رؤية الإخراج بدون هذا الجزء المحدد من التعليمات البرمجية ، فيمكنك التعليق على هذا الجزء المحدد من التعليمات البرمجية والمضي قدمًا والتنفيذ. سيعمل برنامجك على ما يرام ، وسيحقق لك نتائج جيدة بينما لا يزال هذا الرمز الإضافي موجودًا في البرنامج النصي الخاص بك ولكنه غير فعال بسبب التعليقات. متى أردت استخدام هذا الجزء من الكود مرة أخرى ، فابدأ وقم بإلغاء التعليق على هذه السطور وأنت على ما يرام.
هناك طريقتان يمكنك من خلالهما كتابة التعليقات في bash ؛ إحدى الطرق هي كتابة تعليقات سطر واحد بينما يتم استخدام الطريقة الأخرى لكتابة تعليقات متعددة الأسطر.

تعليقات سطر واحد
في التعليقات أحادية السطر ، نستخدم علامة '#' التي تساعد في التعليق على السطر بأكمله. أي شيء مكتوب على السطر متبوعًا بـ '#' سيتم اعتباره تعليقًا ولن يكون له قيمة حقيقية عندما نقوم بتنفيذ البرنامج النصي. يمكن استخدام هذا التعليق المكون من سطر واحد لإيصال منطق وفهم الكود إلى شخص لديه حق الوصول إلى الكود.

#!/bin/bash
رما - طرد - قذف 'ناطبع tنفس الخطن'
# هذا البرنامج النصي يساعدنا في تطبيق / تركيبة / n و / t



تعليقات متعددة الأسطر
لنفترض أنك تريد إضافة مائة سطر إلى نصك النصي. في هذه الحالة ، سيكون من الصعب عليك استخدام تعليقات من سطر واحد. أنت لا تريد أن تضيع وقتك في وضع # في كل سطر. يمكننا استخدام ':' ثم 'أي تعليقات'. سيساعدك على التعليق على أسطر متعددة عن طريق كتابة 3 رموز مفيدة ومفيدة.

#!/bin/bash’
: 'هذا هو النص الذي يتأكد
هذا n و t يعمل ويتم تطبيقه
فيبطريقة تجعلنا نحصل على المخرجات المطلوبة '
رما - طرد - قذف 'ناطبع tنفس الخطن'



ألقِ نظرة على 30 نموذجًا من نصوص Bash النصية على Linuxhint.com:

30 أمثلة على نص باش

أهم 6 دروس في Bash Scripting

1. البيان الشرطي
البيان الشرطي هو أداة مفيدة للغاية في اتخاذ القرار. يستخدم على نطاق واسع في لغات البرمجة. في كثير من الأحيان ، نحتاج إلى اتخاذ قرارات بناءً على شروط معينة. يقوم البيان الشرطي بتقييم الحالة المحددة واتخاذ القرار. في bash ، نستخدم أيضًا العبارة الشرطية مثل أي لغة برمجة أخرى. تختلف صيغة استخدام العبارة الشرطية في bash قليلاً عن لغات البرمجة الأخرى. الشرط if هو البيان الشرطي الأكثر استخدامًا في bash ولغات البرمجة الأخرى ذات الأغراض العامة. تقيّم حالة if الحالة المعينة وتتخذ القرار. يسمى الشرط المعطى أيضًا تعبير اختبار. هناك طرق عديدة لاستخدام شرط if في bash. تم استخدام الشرط if مع كتلة else. في حالة ، إذا كان الشرط المحدد صحيحًا ، فسيتم تنفيذ التعليمات الموجودة داخل كتلة if ، وإلا فسيتم تنفيذ كتلة else. هناك طرق متعددة لاستخدام عبارة الشرط if في Bash وهي كالتالي:

  1. بيان if
  2. بيان if else
  3. عبارة if المتداخلة
  4. بيان if elif

بيان if
تقوم تعليمة if بتقييم الشرط المحدد فقط ، إذا كان الشرط المعطى صحيحًا ، فسيتم تنفيذ التعليمات أو الأوامر داخل كتلة if ، وإلا فسيتم إنهاء البرنامج. في bash ، إذا كان الشرط يبدأ بكلمة if وينتهي بالكلمة الأساسية fi. يتم استخدام الكلمة الأساسية ثم لتحديد كتلة العبارات أو الأوامر التي يتم تنفيذها عندما يكون شرط معين صحيحًا. دعنا نعلن عن متغير ونستخدم شرط if لتقييم قيمة المتغير سواء كانت أكبر من 10 أم لا. يتم استخدام -gt لتقييم الحالة الأكبر من الحالة ، بينما يتم استخدام -lt لتقييم الحالة الأقل من.

#!/bin/bash
أين=100
#declaring شرط if
لو [ حكم الفيديو المساعد -Gt 10 ]
من ثم
رما - طرد - قذف 'الحكم الفيديو المساعدأكبر من 10 بوصات
# إنهاء حالة الشرط
يكون


بيان if else
تُستخدم عبارة if else أيضًا كعبارة شرطية. يتم تنفيذ العبارات أو الأوامر بعد شرط if إذا كان الشرط المعطى صحيحًا. خلاف ذلك ، يتم تنفيذ كتلة else إذا كان الشرط المحدد غير صحيح. يتبع كتلة else بكتلة if وتبدأ بالكلمة else.

#!/bin/bash
أين=7
#declaring شرط if
لو [ حكم الفيديو المساعد -Gt 10 ]
من ثم
رما - طرد - قذف 'الحكم الفيديو المساعدأكبر من 10 بوصات
#declaring آخر كتلة
آخر
رما - طرد - قذف 'الحكم الفيديو المساعدأقل من 10 بوصات
# إنهاء حالة الشرط
يكون


يمكن تقييم العديد من الشروط باستخدام شرط if. يمكننا استخدام عامل التشغيل and (&) و أو عامل التشغيل (II) لتقييم الشروط المتعددة داخل عبارة if المفردة.

#!/bin/bash
أين=عشرين
#declaring شرط if
لو [[ حكم الفيديو المساعد -Gt 10 && حكم الفيديو المساعد -lt 100 ]]
من ثم
رما - طرد - قذف 'الحكم الفيديو المساعدأكبر من 10 وأقل من 100 بوصة
#declaring آخر كتلة
آخر
رما - طرد - قذف 'الشرط لا يرضي'
# إنهاء حالة الشرط
يكون


عبارة if المتداخلة
في عبارة if المتداخلة ، لدينا تعليمة if داخل تعليمة if. تم تقييم أول عبارة if ، إذا كانت صحيحة ، فسيتم تقييم تعليمة if الأخرى.

#!/bin/bash
أين=عشرين
#declaring شرط if
لو [[ حكم الفيديو المساعد -Gt 10 ]]
من ثم
# إذا كان الشرط داخل آخر إذا كان الطعن
لو [ حكم الفيديو المساعد -lt 100 ]
من ثم
رما - طرد - قذف 'الحكم الفيديو المساعدأكبر من 10 وأقل من 100 بوصة
#declaring آخر كتلة
آخر
رما - طرد - قذف 'الشرط لا يرضي'
# إنهاء حالة الشرط
يكون
آخر
رما - طرد - قذف 'الحكم الفيديو المساعدأقل من 10 بوصات
يكون


بيان if elif
يتم استخدام عبارة if elif لتقييم شروط متعددة. يبدأ الشرط الأول بكتلة if وتتبع الشروط الأخرى بالكلمة الأساسية elif. دعنا نفكر في مثال رقم المتغير السابق وننفذ عبارة if elif في نص bash الخاص بنا. يتم استخدام المعادلة كعامل مساوٍ.

#!/bin/bash
أين=عشرين
#declaring شرط if
لو [[ حكم الفيديو المساعد -مكافئ 1 ]]
من ثم
رما - طرد - قذف 'القيمة المتغيرة تساوي 1'
أليف [[ حكم الفيديو المساعد -مكافئ 2 ]]
من ثم
رما - طرد - قذف 'القيمة المتغيرة تساوي 2'
أليف [[ حكم الفيديو المساعد -مكافئ 3 ]]
من ثم
رما - طرد - قذف 'القيمة المتغيرة تساوي 2'
أليف [[ حكم الفيديو المساعد -Gt 5 ]]
من ثم
رما - طرد - قذف 'القيمة المتغيرة أكبر من 5'
يكون


2. التكرار
الحلقات هي الجزء الأساسي والأساسي لأي لغة برمجة. على عكس لغات البرمجة الأخرى ، تُستخدم الحلقات أيضًا في Bash لأداء مهمة بشكل متكرر حتى يصبح الشرط المحدد صحيحًا. الحلقات متكررة ، فهي أداة رائعة لأتمتة أنواع مماثلة من المهام. يتم استخدام حلقة for و while loop و until loop في Bash.
دعونا نناقش هذه الحلقات واحدة تلو الأخرى.

حلقة الوقت
تقوم حلقة while بتنفيذ نفس التعليمات أو الأوامر بشكل متكرر. يقوم بتقييم الشرط وتشغيل العبارات أو الأوامر حتى يصبح الشرط صحيحًا.
هذه هي الصيغة الأساسية لاستخدام حلقة while في Bash.

أثناء [الشرط أو اختبار التعبير]
فعل
صياغات
انتهى

دعونا ننفذ حلقة while في ملف script.sh الخاص بنا. لدينا متغير VAR قيمته تساوي الصفر. في حلقة while ، وضعنا شرطًا ، وهو أن الحلقة يجب أن تعمل حتى تصبح قيمة VAR أقل من 20. تزداد القيمة المتغيرة بمقدار 1 بعد كل تكرار. لذلك ، في هذه الحالة ، ستبدأ الحلقة في التنفيذ حتى تصبح القيمة المتغيرة أقل من 20.

#!/bin/bash
أين=0
في حين [ حكم الفيديو المساعد -lt عشرين ]
فعل
رما - طرد - قذف القيمة الحالية للمتغير هيحكم الفيديو المساعد'
# زيادة القيمة بمقدار 1 في VAR
أين= دولار((VAR +1))
انتهى


حلقة for
الحلقة for هي الحلقة الأكثر استخدامًا في كل لغة برمجة. يتم استخدامه لتنفيذ المهمة التكرارية. إنها أفضل طريقة لأداء المهام المتكررة. دعنا نعلن عن حلقة for في ملف script.sh الخاص بنا ونستخدمها لأداء مهمة متكررة.

#!/bin/bash
أين=0
ل (( أنا==0؛ أنا<عشرين؛ أنا ++))
فعل
رما - طرد - قذف 'أهلا ومرحبا بكم في linuxhint'
# زيادة المتغير i
أنا= دولار((أنا +1))
انتهى
رما - طرد - قذف 'هذه نهاية حلقة for'


حلقة حتى
النوع الآخر من التكرار المستخدم في Bash هو حتى التكرار. كما أنه يؤدي أو ينفذ نفس المجموعة بشكل متكرر. تقيِّم حلقة حتى الشرط وتبدأ في التنفيذ حتى يصبح الشرط المعطى خاطئًا. تنتهي حلقة حتى عندما يكون الشرط المعطى صحيحًا. يكون بناء جملة حلقة until كما يلي:

حتى [الحالة]
فعل
صياغات
أوامر
انتهى

دعونا ننفذ حتى الحلقة في ملف script.sh الخاص بنا. سيتم تشغيل حلقة حتى ما لم يكن الشرط خاطئًا (قيمة المتغير أقل من 20)

#!/bin/bash
أين=0
حتى [ حكم الفيديو المساعد -Gt عشرين ]
فعل
رما - طرد - قذف 'أهلا ومرحبا بكم في linuxhint'
# زيادة المتغير i
أين= دولار((VAR +1))
انتهى
رما - طرد - قذف 'هذه نهاية حلقة حتى حلقة'


3. القراءة من المستخدم وكتابته على الشاشة
يمنح Bash الحرية للمستخدم لإدخال قيمة سلسلة أو بيانات على الجهاز. يمكن قراءة السلسلة أو البيانات التي أدخلها المستخدم من الجهاز ، ويمكن تخزينها في الملف ، ويمكن طباعتها على الجهاز. في ملف Bash ، يمكن قراءة مدخلات المستخدم باستخدام امتداد اقرأ الكلمة المفتاحية ونخزنها في متغير. يمكن عرض المحتوى المتغير على الجهاز باستخدام أمر echo.

#!/bin/bash
رما - طرد - قذف 'اكتب شيئا على المحطة'
# تخزين القيمة المدخلة في VAR
اقرأأين
رما - طرد - قذف 'دخلت:حكم الفيديو المساعد'


يمكن استخدام خيارات متعددة مع أمر القراءة. أكثر الخيارات شيوعًا هي -p و -s. يعرض -p الموجه ويمكن أخذ الإدخال في نفس السطر. يأخذ –s الإدخال في الوضع الصامت. يتم عرض أحرف الإدخال على الجهاز. من المفيد إدخال بعض المعلومات الحساسة ، مثل كلمات المرور.

#!/bin/bash
اقرأ -p 'أدخل البريد الإلكتروني:'البريد الإلكتروني
رما - طرد - قذف 'أدخل كلمة المرور'
اقرأ كلمه السر


4. قراءة وكتابة الملفات النصية
الملفات النصية هي المكونات الأساسية لقراءة البيانات وكتابتها. يتم تخزين البيانات في الملفات النصية بشكل مؤقت ويمكن قراءتها من الملف النصي بسهولة. أولاً ، دعنا نناقش كتابة البيانات في ملف نصي وبعد ذلك ، سنناقش قراءة البيانات من الملفات النصية.

كتابة الملفات النصية
يمكن كتابة البيانات في ملف بعدة طرق:

  • باستخدام قوس الزاوية اليمنى أو علامة أكبر من (>)
  • باستخدام قوس الزاوية اليمنى المزدوج (>>)
  • باستخدام الأمر tee

علامة قوس الملاك الأيمن (>) لكتابة البيانات
إنها الطريقة الأكثر استخدامًا لكتابة البيانات في ملف نصي. نكتب البيانات ثم نضع علامة>. تشير العلامة> إلى الملف النصي حيث يتعين علينا تخزين البيانات. ومع ذلك ، لا يتم إلحاق الملف ويتم استبدال البيانات السابقة للملف بالكامل بالبيانات الجديدة.

#!/bin/bash
#user يدخل اسم الملف النصي
اقرأ -p 'أدخل اسم الملف:'ملف
#user يدخل البيانات لتخزينها في ملف نصي
اقرأ -p 'كتابة البيانات لإدخالها في الملف:'البيانات
# تخزين البيانات في ملف نصي
#> يشير إلى اسم الملف.
رما - طرد - قذف البيانات دولار > ملف $


علامة قوس الملاك الأيمن (>>) لكتابة البيانات
يتم استخدام >> لتخزين إخراج أي أمر في الملف. على سبيل المثال ، يعرض الأمر ls -al محتوى وأذونات ملف في دليل معين. سيقوم >> بتخزين الإخراج في الملف.

#!/bin/bash
#user يدخل اسم الملف النصي
اقرأ -p 'أدخل اسم الملف:'ملف
# تخزين إخراج الأمر في الملف
ls -إلى >> ملف $



استخدام الأمر tee لكتابة البيانات في ملف نصي
يتم استخدام الأمر tee في Bash لكتابة إخراج الأمر في ملف نصي. يقوم بطباعة إخراج الأمر على الجهاز وكذلك تخزينه في ملف نصي.

#!/bin/bash
#user يدخل اسم الملف النصي
اقرأ -p 'أدخل اسم الملف:'ملف
# تخزين إخراج الأمر في الملف باستخدام الأمر tee
ls -إلى | قمزة ملف $


يقوم الأمر tee بالكتابة فوق البيانات الموجودة للملف افتراضيًا. ومع ذلك ، يمكن استخدام خيار -a مع الأمر tee لإلحاق الملف.

#!/bin/bash
#user يدخل اسم الملف النصي
اقرأ -p 'أدخل اسم الملف:'ملف
# تخزين إخراج الأمر في الملف باستخدام الأمر tee
ls -إلى | قمزة -إلى ملف $


قراءة الملفات النصية
ال قط يتم استخدام الأمر لقراءة البيانات من الملف. إنه الأكثر استخدامًا لهذا الغرض. يقوم ببساطة بطباعة محتوى الملف النصي على الجهاز. دعنا نطبع محتوى أو بيانات الملف على الجهاز باستخدام امتداد قط أمر.

#!/bin/bash
#user يدخل اسم الملف النصي
اقرأ -p 'أدخل اسم الملف:'ملف
# قراءة البيانات من الملف النصي
قط ملف $


5. تشغيل برامج أخرى من باش
يمنح Bash السلطة لتشغيل برامج أخرى من نص Bash. نستخدم الأمر exec لتشغيل البرامج الأخرى من Bash. يستبدل الأمر exec العملية السابقة بالعملية الحالية ويطلق البرنامج الحالي. على سبيل المثال ، يمكننا فتح محرر nano أو gedit أو vim من نص bash.

#!/bin/bash
# تشغيل محرر نانو من Bash
إكسيك نانو

#!/bin/bash
#running gedit من باش
إكسيكgedit

وبالمثل ، يمكننا تشغيل تطبيق المتصفح من Bash أيضًا. لنقم بتشغيل متصفح Mozilla Firefox.

#!/bin/bash
# تشغيل فايرفوكس
إكسيكثعلب النار


علاوة على ذلك ، يمكننا تشغيل أي برنامج من Bash باستخدام الأمر exec.

6. معالجة سطر الأوامر
تشير معالجة سطر الأوامر إلى معالجة البيانات المدخلة على الجهاز. تتم معالجة بيانات سطر الأوامر لأغراض عديدة ، مثل قراءة مدخلات المستخدم ، وفهم الأوامر ، وقراءة الوسائط. في السابق ، ناقشنا أمر القراءة. يتم استخدام الأمر read أيضًا لمعالجة سطر الأوامر. في هذا القسم ، سنناقش معالجة وسيطات سطر الأوامر. في Bash ، يمكننا معالجة الحجج التي تم تمريرها أو كتابتها على المحطة. تتم معالجة الوسيطات بنفس طريقة تمريرها. لذلك ، يطلق عليه المعلمات الموضعية. على عكس لغات البرمجة الأخرى ، تبدأ فهرسة الوسائط في Bash بالرقم 1. تُستخدم علامة الدولار ($) لقراءة الوسائط. على سبيل المثال ، يقرأ $ 1 الوسيطة الأولى ، ويقرأ $ 2 الوسيطة الثانية ، وهكذا. يمكن تحليل الحجج لأسباب مختلفة مثل أخذ مدخلات من المستخدم.

#!/bin/bash
رما - طرد - قذف 'أدخل أسمك'
# معالجة الحجة الأولى
رما - طرد - قذف 'الاسم الأول:' 1 دولار
# معالجة الوسيطة الثانية
رما - طرد - قذف 'الاسم الأوسط:'2 دولار
# معالجة الحجة الثالثة
رما - طرد - قذف 'الكنية:' 3 دولارات
رما - طرد - قذف 'الاسم بالكامل:' 1 دولار 2 دولار 3 دولارات


تعد قراءة البيانات من المحطة الطرفية باستخدام القراءة وتحليل الوسائط أكثر الأمثلة ملاءمة لمعالجة سطر الأوامر.

تاريخ Bash والمقارنة مع الأصداف الأخرى

يعد Bash الآن المكون الأساسي للأنظمة المستندة إلى UNIX و Linux. تم تطوير Bourne Shell في البداية بواسطة ستيفن بورن. كان الغرض من قذيفة ستيفن بورن هو التغلب على قيود القذائف الموجودة بالفعل في ذلك الوقت. قبل Bourne Shell ، قدمت UNIX قذيفة Thompson. ومع ذلك ، كانت قذيفة Thompson محدودة للغاية في نصوص المعالجة. لم يتمكن المستخدمون من تشغيل كمية كافية من البرنامج النصي. للتغلب على كل هذه القيود المفروضة على قذيفة طومسون ، تم تقديم Bourne Shell. تم تطويره في Bells Lab. في عام 1989 ، أحدث Brian Fox ثورة في قذيفة Bourne بإضافة العديد من الميزات الأخرى وأطلق عليها اسم Bourne Again Shell (BASH).

اسم القشرة عام برنامج وصف مقارنة مع BASH
طومسون شل 1971 يونيكس كانت أتمتة البرنامج النصي محدودة. يمكن للمستخدم عمل كمية صغيرة فقط من البرمجة النصية. يتغلب BASH على قيود قشرة Thompson ويمكن للمستخدم كتابة النصوص الكبيرة.
بورن شل 1977 يونيكس يسمح لنا بكتابة وتشغيل كمية هائلة من البرامج النصية. لا يوفر Bourne Shell محرر الأوامر وعددًا أكبر من تسهيلات الاختصار. يوفر BASH تحسينات في التصميم جنبًا إلى جنب مع محرر الأوامر.
قذيفة POSIX 1992 بوسيكس POSIX Shell قابل للنقل. يوفر العديد من الاختصارات والتحكم الوظيفي. تشتهر BASH بأداء تلك المهام التي لا تتطلب قابلية النقل.
شل Z 1990 يونيكس شل Z غني بالميزات. إنه غلاف قوي للغاية ويوفر ميزات مثل الإكمال التلقائي للأوامر وتصحيح الإملاء والتعبئة التلقائية. يفتقر BASH إلى بعض الميزات التي يوفرها Z Shell.

استنتاج

BASH هي أداة قوية للغاية تسمح لنا بتشغيل الأوامر والبرامج النصية. يسمح لنا برنامج BASH النصي بأتمتة المهام والأوامر اليومية. نص BASH هو مزيج من أوامر متعددة. ينتهي ملف BASH بالملحق .sh. قبل تشغيل البرنامج النصي BASH ، نحتاج إلى تحديث أذونات الملف ونحتاج إلى توفير الإذن القابل للتنفيذ لملف .sh. تشرح هذه المقالة البرمجة النصية لـ BASH و BASH بمساعدة أمثلة بسيطة ودروس مهمة. علاوة على ذلك ، فهو يصف تاريخ BASH ويقارن ميزاته بالعديد من الأصداف القوية الأخرى.