10 أمثلة رائعة ورائعة من Bash Loop

10 Amthlt Ray T Wray T Mn Bash Loop

في لغة البرمجة ، هناك ثلاثة أنواع أساسية من الحلقات (for ، while ، و until). جميع أنواع الحلقات الثلاثة مهمة بطرق مختلفة. لا يوجد فرق كبير بين حلقتي while و until ، لكن حلقة for تعمل بشكل مختلف تمامًا عن هذين الحلقتين. لهذا السبب يمكنك استخدام هذه الحلقات لإنشاء نصوص تفاعلية كمستخدم bash.

لذلك يمكن أن يساعدك تعلم أمثلة bash على تحسين مهاراتك في إنشاء البرامج النصية. لذلك في هذا البرنامج التعليمي ، سنقوم بتضمين 10 أمثلة رائعة ورائعة من حلقات bash loop التي يمكنك تجربتها لتحسين مهاراتك في البرمجة النصية.



10 أمثلة رائعة ورائعة من Bash Loop

في هذا القسم ، سنشرح العديد من الأمثلة والأساليب التي استخدمناها في الحلقات.



الأمر Seq مع Loop في Bash

يمكنك استخدام الأمر seq في الحلقة for لإنشاء تسلسل الأرقام. على سبيل المثال ، لديك برنامج نصي 'File.sh' يحتوي على الكود التالي:



#! / بن / باش
إلى عن على أ في $ ( فيما يليها 5 اثنين 25 )
فعل
صدى صوت 'أعداد $ أ نكون'
فعله

ستحصل على النتيجة التالية بعد تنفيذ البرنامج النصي في الجهاز:

. / file.sh




إعادة تسمية الملفات باستخدام Loop

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

#! / بن / باش
إلى عن على أ في $ ( ls * .رسالة قصيرة ) ؛ فعل
م $ أ ( الاسم الأساسي $ أ .رسالة قصيرة ) _ دولار ( تاريخ ٪ د ٪ م ٪ ) .رسالة قصيرة
فعله


الآن ، يمكنك تشغيل البرنامج النصي ، وسوف يغير اسم جميع ملفات .txt عن طريق إضافة التاريخ الحالي:

. / MyFile.sh



وبالمثل ، يمكنك تغيير امتدادات الملف من خلال نص برمجي واحد. لذلك دعونا نغير امتداد .txt إلى .sh من خلال النص البرمجي التالي:

#! / بن / باش
إلى عن على ملف في * .رسالة قصيرة؛ فعل
م - ' ملف $ ' '{file٪ .txt} .sh'
فعله

بعد تنفيذ البرنامج النصي في الجهاز ، ستحصل على ملفات .sh بدلاً من ملفات .txt:

. / MyFile.sh


إنفينيت فور لوب إن باش

عندما لا يتم تحديد شرط إنهاء في الحلقة ، فإنها تسمى حلقة لا نهائية. في هذا المثال لحلقة Bash ، سننظر إلى حلقة for اللانهائية في bash. يتم تعريف حلقة for اللانهائية التالية بواسطة فاصلة منقوطة مزدوجة (؛ ؛) ولا تحتوي على أي أجزاء أولية أو إجراء أو إنهاء.

سيستمر البرنامج النصي أدناه حتى تضغط على Ctrl + C أو تكتب 'quit' كمدخل. سيقوم هذا البرنامج النصي بطباعة كل رقم من 10 إلى 50 يتم تقديمه كمدخل. وإلا ، فسيتم طباعة 'الرقم خارج النطاق'.

#! / بن / باش
#حلقة لا نهائية
إلى عن على ( ( ؛ ؛ ) )
فعل
صدى صوت 'أدخل رقمًا بين 10 إلى 50'
قرأ ن
إذا [ $ ن == 'استقال' ]
ومن بعد
صدى صوت 'منتهية'
خروج 0
يكون
إذا ( ( $ ن < 10 || $ ن > خمسون ) )
ومن بعد
صدى صوت 'الرقم خارج النطاق'
آخر
صدى صوت 'الرقم هو $ ن '
يكون
فعله

قدمنا ​​45 و 23 مدخلات صالحة في النص أعلاه. بعد ذلك ، نطبع 2 كمدخل يخبرنا في الإخراج أن 'الرقم خارج النطاق.' بعد ذلك ، لإغلاق البرنامج النصي ، نكتب quit كمدخل. هنا يمكنك أيضًا الضغط على Ctrl + C لإنهاء الحلقة اللانهائية.

Three Expression Loop في Bash

من المعروف من اسم حلقة التعبير الثلاثة أنها تتكون من ثلاثة تعبيرات ، وتسمى أيضًا تعبيرات التحكم. التعبير الأول (EXP1) هو المُهيئ ، والتعبير الثاني (EXP2) هو اختبار الحلقة أو الشرط ، والتعبير الثالث (EXP3) هو تعبير / خطوة العد. دعونا ندير حلقة من ثلاثة تعبيرات في bash:

#! / بن / باش
إلى عن على ( ( ن = 5 ؛ ن > = 1 ؛ ن-- ) )
فعل
صدى صوت 'الكتاب $ ن '
فعله

عند تشغيل البرنامج النصي أعلاه ، ستحصل على الإخراج التالي.

حلقة مع شروط متعددة

لقد استخدمنا حلقة until بشروط متعددة في مثال حلقة bash التالية. في هذا البرنامج النصي ، أخذنا 'm' و 'n' ، متغيرين قيمتهما 20 و 10 ، على التوالي ، واحتفظنا بحد 15. هنا نضع الشرطين 'm' و 'n' معًا في الحلقة ، حيث سيتم تشغيل الحلقة حتى تصبح قيمة 'm' أقل من الحد و 'n' أكبر من الحد.

#! / بن / باش
حد = خمسة عشر
م = عشرين
ن = 10
حتى [ [ م دولار -lt حد دولار || $ ن -Gt حد دولار ] ] ؛
فعل
صدى صوت 'إذا كان م = م دولار ثم N = $ ن '
( ( م-- ) )
( ( n ++ ) )
فعله

يمكنك أن ترى أن تشغيل البرنامج النصي أعلاه سوف يعمل حتى تصل قيم 'م' و 'ن' إلى نفس المستوى.

قراءة ملف في باش

في bash ، يمكنك قراءة محتويات الملف بعدة طرق. في هذا المثال من bash loop ، سنقرأ محتويات الملف من خلال اسم الملف. يمكننا استخدام البرنامج النصي التالي لقراءة الملف في bash:

#! / بن / باش
صدى صوت 'محتوى الملف المدخل هو:'
في حين
قرأ خط
فعل
صدى صوت سطر $
فعله < ~ المستندات / Linuxhint.txt

بعد تشغيل البرنامج النصي أعلاه ، يمكنك قراءة المحتوى الكامل للملف المدخل.

الكتابة في ملف

يمكنك استخدام الحلقات في البرنامج النصي لتحرير ملف من الجهاز مباشرة. على سبيل المثال ، إذا كان لدينا ملف txt 'Example.txt' ، وأردنا إضافة بعض المعلومات ، فيمكننا استخدام البرنامج النصي التالي:


إذا قمت بتشغيل البرنامج النصي أعلاه ، فسيطلب منك إدخال التفاصيل:


بمجرد إدخال التفاصيل ، يرجى CTRL + D لحفظ الملف و CTRL + Z لإنهاء العملية بنجاح.

استراحة ومتابعة حلقة البيان في Bash

في bash ، يمكنك متابعة تعليمة الحلقة الخاصة بك بعد الفاصل. يخرج تعليمة break من الحلقة ثم تمرر التحكم إلى العبارة التالية المعطاة. يبدأ التكرار الثاني بعد تخطي التكرار الحالي بنفس جملة المتابعة.

#! / بن / باش
على واحد = 16
حتى خاطئة
فعل
( ( على واحد-- ) )
إذا [ [ الأسطوانات دولار -مكافئ 13 ] ]
ومن بعد
استمر
أليف [ [ الأسطوانات دولار - ال 4 ] ]
ومن بعد
فترة راحة
يكون
صدى صوت 'LinuxHint = الأسطوانات دولار '
فعله

في نص bash التالي ، يمكنك أن ترى أنه عندما يكون 'num' مساويًا لـ 13 ، فإنه يتخطى بقية نص الحلقة ويقفز إلى التكرار التالي. وبالمثل ، فإن الحلقة سوف تنكسر عندما يكون 'num' أقل من أو يساوي 4.


يوضح النص أعلاه أن الحلقة تبدأ عند 15 ، وتتقطع عند 13 ، وتستمر حتى 5.

حساب المتوسط ​​في باش

يمكنك حساب المتوسط ​​عن طريق تشغيل البرنامج النصي في حلقة bash. في هذا ، يمكن للمستخدم حساب متوسط ​​الأرقام ضمن نطاق محدد. يحسب البرنامج النصي التالي متوسط ​​المدخلات المقدمة من قبل المستخدم.

#! / بن / باش
علامات = '0'
معدل = '0'
مجموع = '500'
على واحد = '5'
في حين حقيقي ؛ فعل
صدى صوت 'أدخل علاماتك أو اضغط على' q 'للإجهاض' ؛ قرأ علامات.
إذا ( ( ' علامات دولار ' < '0' ) ) || ( ( ' علامات دولار ' > '100' ) ) ؛ ومن بعد
صدى صوت 'الرجاء إدخال العلامات الخاصة بك'
أليف [ ' علامات دولار ' == 'ف' ] ؛ ومن بعد
صدى صوت 'متوسط ​​العلامات هي: متوسط ​​$ ٪ '
فترة راحة
آخر
مجموع = دولار [ سوم دولار + علامات دولار ]
على واحد = دولار [ NUM دولار + 1 ]
معدل = دولار [ سوم دولار / NUM دولار ]
يكون
فعله

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

عند تشغيل البرنامج النصي أعلاه ، سيكون الإخراج الخاص بك شيئًا من هذا القبيل.

اقرأ حجج سطر الأوامر في Bash

في bash ، يمكنك قراءة وسيطات سطر أوامر واحد باستخدام الحلقات. يقوم البرنامج النصي بطباعة قيم الوسيطة المنسقة. نقوم بتشغيل وسيطات سطر الأوامر في bash باستخدام حلقة while في البرنامج النصي التالي. من خلال هذا ، ستطبع القيمة التي تمرر الخيار صالح لقيمة الوسيطة بمساعدة أمر واحد.

#! / بن / باش
في حين getopts N: F: M: الأراضي الفلسطينية المحتلة
فعل
قضية ' $ {OPT} '
في
ن ) اسم = $ {OPTARG} ؛؛
F ) اسم الأب = $ {OPTARG} ؛؛
م ) اسم الأم = $ {OPTARG} ؛؛
* ) صدى صوت 'غير صالح'
خروج 1 ؛؛
esac
فعله
printf 'اسم: اسم $ اسم الأب: اسم الأب اسم الأم: اسم الأم $ '

وبالتالي ، يمكنك طباعة قيم الوسيطة المنسقة إلى الإخراج عن طريق تشغيل البرنامج النصي أعلاه في bash.

تغليف

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