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

تعد معرفة البرمجة النصية لـ Bash أمرًا ضروريًا لكل مطور ، خاصة إذا كنت تعمل مع أنظمة تستند إلى Unix.

المتغيرات في باش

متغيرات باش حساسة لحالة الأحرف. لتعريف المتغيرات ، استخدم علامة يساوي (=) بالاسم على اليسار والقيمة على اليمين:

STATE = واشنطن

القيمة التي يعينها هذا الإعلان حالة هي كلمة واحدة. إذا كنت بحاجة إلى مسافات في القيمة الخاصة بك ، فاستخدم علامات الاقتباس حولها:

STATE = "شمال أريزونا"

ستحتاج إلى استخدام علامة الدولار ($) بادئة للإشارة إلى المتغيرات في المتغيرات أو العبارات الأخرى:

STATE = واشنطن
LOCATION = "موقعي هو ولاية دولار"

قيم الطباعة في Bash

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

STATE = واشنطن
LOCATION = "موقعي هو ولاية دولار"
صدى صوتالموقع $
instagram viewer

بعد التصريح ب حالة متغير ، يحدد هذا البرنامج النصي موقعك بالرجوع إلى STATE. إذا كان يستخدم echo لطباعة القيمة النهائية لمتغير LOCATION.

ال printf تتيح لك الكلمة الأساسية استخدام أفعال التنسيق لإخراج البيانات. أفعال تنسيق السلسلة تشبه تلك الموجودة في C و Go ولكن مع أفعال محدودة.

الفعل وظائف
٪ ج يطبع أحرف مفردة
٪ o يطبع Octadecimals
٪س يطبع الأوتار ، بغض النظر عن الغلاف
٪ x يطبع سداسي عشري صغير
٪ X يطبع سداسي عشري كبير
٪د يطبع الأعداد الصحيحة
٪ ه يطبع فكرة علمية تطفو بأحرف صغيرة
٪ ه يطبع فكرة علمية تطفو بأحرف كبيرة
٪F يطبع أرقام الفاصلة العائمة
%% يطبع رمز نسبة واحد.

إليك مثال على استخدام فعل مع مطبعة كلمة رئيسية.

STATE = لاغوس
printf "موقعي هو٪ s" ولاية دولار

ال printf ستحل محل حالة متغير في موقف ٪س فعل ، وسيكون الناتج "My Location is Lagos".

يمكنك كتابة تعليقات في Bash باستخدام الهاش أو الجنيه (#) رمز. تتجاهل الصدفة التعليقات تلقائيًا.

#! / بن / باش
# STATE = واشنطن
# LOCATION = "موقعي هو $ STATE"

لا توجد تعليقات متعددة الخطوط. تسمح لك معظم IDEs ومحرري النصوص بالتعليق باستخدام اختصار Ctrl / Command + الشرطة المائلة للأمام (/). يجب أن تكون قادرًا على استخدام الاختصار لإنشاء تعليقات متعددة ذات سطر واحد.

استقبال مدخلات المستخدم في Bash

مثل العديد من لغات البرمجة الأخرى ، يمكنك تلقي مدخلات المستخدم في Bash لجعل برامجك / نصوصك أكثر تفاعلية. يمكنك استخدام ال قرأ أمر لطلب إدخال المستخدم.

قرأ استجابة

في هذه الحالة ، فإن ملف استجابة متغير سيحتفظ بإدخال المستخدم عند التسليم.

صدى "ماذا تريد ؟:"
قراءة الرد
صدى دولار الاستجابة

سيكون طلب إدخال المستخدم في سطر جديد في المثال أعلاه.

يمكنك إضافة ملف علم إلى صدى صوت بيان الطباعة للاحتفاظ بالسطر حيث يقوم المستخدم بإدخال الإدخال.

صدى - ن "ماذا تريد".
قراءة الرد
صدى دولار الاستجابة

التصريح عن المصفوفات في باش

المصفوفات في باش هي فقط مثل معظم اللغات. يمكنك تعريف متغير مصفوفة في Bash بتحديد العناصر الموجودة بين قوسين.

البلدان = ('USA' 'روسيا' 'أوكرانيا' ، "إنجلترا" ، "تايوان" ، "الصين")

سيؤدي الوصول إلى مصفوفة عبر الرجوع إلى اسم المتغير إلى جلب العنصر الأول. يمكنك الوصول إلى المصفوفة بأكملها باستخدام علامة النجمة كفهرس.

صدى $ {البلدان [*]}

يمكنك أيضًا تحديد فهرس المصفوفة للوصول إلى عنصر معين. يبدأ فهرس المصفوفة من الصفر.

صدى صوت "$ {البلدان [4]}"

الجمل الشرطية في Bash

يوفر Bash شروطًا لاتخاذ القرار في البرامج.

إليك تشريح عبارة if-else في Bash. سيتعين عليك استخدام الفاصلة المنقوطة لتحديد نهاية الشرط.

إذا [[ حالة ]]؛ ومن بعد
صدى صوت البيان 1
أليف [[حالة ]]؛ ومن بعد
صدى صوت البيان 2
آخر [[حالة ]]؛ ومن بعد
صدى صوت البيان 3
فاي

يجب أن تنتهي كل إذا بيان مع فاي كلمة رئيسية.

إذا [ 1 == 2 ]; ومن بعد
صدى صوت واحد
أليف [ 2 == 3 ]; ومن بعد# آخر-إذا
صدى صوت اثنين
آخر [ 4 > 3 ];
صدى صوت "صحيح ، 3"
فاي

يمكنك استخدام بيانات الحالة في برامج Bash الخاصة بك باستخدام ملف قضية كلمة رئيسية. سيتعين عليك تحديد النمط متبوعًا بأقواس النهاية قبل العبارة.

المدينة = لاغوس
قضيةمدينة دولارفي
"واشنطن") # نمط
صدى صوت "الولايات المتحدة الأمريكية" # بيان
;; # نهاية الحالة
"لاغوس" | "أبوجا")
صدى صوت "نيجيريا"
;;
"جوهانسبرج" | "كيب تاون")
صدى صوت "جنوب أفريقيا"
;;
*) # النمط الافتراضي
صدى صوت "أنتاركتيكا" # البيان الافتراضي
;;
esac# نهاية بيان الحالة

يمكنك تحديد الحالة الافتراضية باستخدام علامة النجمة (*) كنمط. يجب أن تنتهي بيانات الحالة بامتداد esac كلمة رئيسية.

حلقات في باش

بناءً على احتياجاتك ، يمكنك استخدام حلقة while أو range for-loop أو c-style لحلقة العمليات المتكررة.

فيما يلي مثال على نمط الحلقة C. يجب أن تنتهي حلقات For بامتداد فعله الكلمة الأساسية ، ويجب أن تنهي تعليمة for بفاصلة منقوطة متبوعة بامتداد فعل كلمة رئيسية.

إلى عن على ((أ = 0 ؛ أ <10 ؛ أ + 2)) ؛ فعل
صدى صوت$ أ
فعله

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

إلى عن على أنا في {1..7}; فعل
صدى صوت$1
فعله

إليك حلقة لا نهائية بسيطة لإظهار Bash في حين حلقات في العمل.

الاسم = 1
في حين [1 -le 5] # بينما 1 <5
فعل
صدى صوتاسم $
فعله

ال -le في بيان الشرط هو عامل التشغيل الثنائي لأقل من.

الوظائف في Bash

لا تحتاج إلى كلمات رئيسية للإعلان عن الوظائف في Bash. يمكنك التصريح عن الدوال بالاسم ثم الأقواس قبل جسم الوظيفة.

دليل_العمل_الطباعة() {
صدى صوتالأشخاص ذوي الإعاقة# استدعاء أمر الأشخاص ذوي الإعاقة من البرنامج النصي
}
صدى صوت "أنت في $ (print_working_directory) "

يمكن أن ترجع الوظائف المتغيرات في Bash. كل ما تحتاجه هو إرجاع كلمة رئيسية.

دليل_العمل_الطباعة() {
إرجاعالأشخاص ذوي الإعاقة
}

ال دليل_العمل_الطباعة تقوم الدالة بإرجاع دليل العمل الخاص بالملف.

يمكنك كتابة البرامج النصية بلغات أخرى

ليست Bash هي اللغة الوحيدة التي يمكنك استخدامها للتفاعل مع shell الخاص بنظام التشغيل أو إنشاء تطبيقات سطر الأوامر. يمكنك استخدام العديد من اللغات الأخرى مثل Go و Python و Ruby و Rust.

العديد من أنظمة التشغيل لديها Python3 مثبتة مسبقًا ، و Python هي لغة سائدة. إذا كنت بحاجة إلى وظائف أكثر مما توفره برامج Bash النصية ، ففكر في استخدام Python.