62 lines
4.6 KiB
Markdown
62 lines
4.6 KiB
Markdown
---
|
|
title: Bash
|
|
localeTitle: سحق
|
|
---
|
|
## ما هو باش؟
|
|
|
|
Bash (باختصار لـ Bourne Again SHell) هي shell Unix ، ومترجم لغة أوامر. القشرة هي مجرد معالج ماكرو ينفذ الأوامر. إنه غلاف المستخدم الأكثر استخدامًا بشكل افتراضي لمعظم توزيعات Linux ، وخلف لـ shell Korn (ksh) و C shell (csh).
|
|
|
|
يمكن القيام بالعديد من الأشياء التي يمكن القيام بها بنظام التشغيل Linux عبر سطر الأوامر. بعض الأمثلة ...
|
|
|
|
* تحرير الملفات
|
|
* ضبط حجم نظام التشغيل
|
|
* جلب صفحات الويب من الإنترنت
|
|
* أتمتة العمل الذي تقوم به كل يوم
|
|
|
|
يمكنك قراءة المزيد عن bash [هنا](https://www.gnu.org/software/bash/) ، عبر [وثائق GNU](https://www.gnu.org/software/bash/manual/html_node/index.html#SEC_Contents) ، وعبر [دليل tldp](http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html#toc10) .
|
|
|
|
## استخدام bash في سطر الأوامر (Linux ، OS X)
|
|
|
|
يمكنك البدء في استخدام bash في معظم أنظمة التشغيل Linux و OS X من خلال فتح جهاز طرفي. دعونا نعتبر مثالًا بسيطًا في عالم الترحيب. افتح الطرفية الخاصة بك واكتب السطر التالي (كل شيء بعد علامة $):
|
|
|
|
`zach@marigold:~$ echo "Hello world!"
|
|
Hello world!
|
|
`
|
|
|
|
كما ترى ، استخدمنا أمر echo لطباعة سلسلة "Hello world!" إلى المحطة.
|
|
|
|
## كتابة برنامج نصي bash
|
|
|
|
يمكنك أيضًا وضع كل أوامر bash في ملف .sh وتشغيلها من سطر الأوامر. لنفترض أنه لديك برنامج نصي bash يحتوي على المحتويات التالية:
|
|
|
|
`#!/bin/bash
|
|
echo "Hello world!"
|
|
`
|
|
|
|
تجدر الإشارة إلى أن السطر الأول من النص البرمجي يبدأ بـ `#!` . إنه توجيه خاص يعامله يونكس بشكل مختلف.
|
|
|
|
#### لماذا استخدمنا #! / bin / bash في بداية ملف البرنامج النصي؟
|
|
|
|
هذا لأنه هو اتفاقية للسماح للقذيفة التفاعلية معرفة نوع المترجم للتشغيل للبرنامج التالي. يخبر السطر الأول يونكس أن الملف يتم تنفيذه بواسطة / bin / bash. هذا هو الموقع القياسي لقذيفة بورن على كل نظام يونكس. تؤدي إضافة #! / bin / bash باعتبارها السطر الأول من النص البرمجي ، إلى إخبار نظام التشغيل باستدعاء shell المحدد لتنفيذ الأوامر التي تتبع في البرنامج النصي. `#!` غالبًا ما يشار إليه على أنه "فرقعة" ، أو "ضرب" أو "فرقعة". على الرغم من أنه يتم تنفيذه فقط إذا قمت بتشغيل البرنامج النصي الخاص بك كملف قابل للتنفيذ. على سبيل المثال ، عندما تكتب `./scriptname.extension` ، ستنظر إلى السطر العلوي لاكتشاف المترجم ، بينما يتم تشغيل البرنامج النصي باسم `bash scriptname.sh` ، يتم تجاهل السطر الأول.
|
|
|
|
ثم يمكنك تشغيل البرنامج النصي مثل: لجعل الملف القابل للتنفيذ يجب عليك استدعاء هذا الأمر تحت sudo chmod + x "filename".
|
|
|
|
`zach@marigold:~$ ./myBashScript.sh
|
|
Hello world!
|
|
`
|
|
|
|
البرنامج النصي يحتوي على سطرين فقط. يشير الأول إلى ما الذي يجب أن يستخدمه مترجم لتشغيل الملف (في هذه الحالة ، bash). السطر الثاني هو الأمر الذي نريد استخدامه ، صدى ، متبوعًا بما نريد طباعته وهو "Hello World".
|
|
|
|
في بعض الأحيان لن يتم تنفيذ النص البرمجي ، وسيعرض الأمر أعلاه خطأً. يرجع ذلك إلى الأذونات المحددة على الملف. لتجنب هذا الاستخدام:
|
|
|
|
`zach@marigold:~$ chmod u+x myBashScript.sh
|
|
`
|
|
|
|
\` ثم قم بتنفيذ البرنامج النصي.
|
|
|
|
### معلومات اكثر:
|
|
|
|
* ويكيبيديا: https://en.wikipedia.org/wiki/Bash _(_ غلاف _يونكس_ )
|
|
* tldp.org دليل باش: http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html#toc2
|
|
* دليل bash gnu.org: https://www.gnu.org/software/bash/manual/html _node / index.html # SEC_ المحتويات
|
|
* برنامج نصي البرمجة شل للبدء: https://www.shellscript.sh/ |