البرمجة في باش - الجزء الأول

الجزء الثاني هذا برنامج تعليمي صغير البرمجة في سحق، حيث نتعلم الاستخدام ciclos وغيرها من الأدوات التي ستساعدنا في تحسين وظائف مخطوطات.

إذا كان الشرطي

وظيفة If هي تطبيق عامل تصفية وتنفيذ عملية أو مهمة لكل نوع من أنواع المرشحات المطبقة. هيكلها على النحو التالي:

إذا [الحالة] ؛ ثم أوامر elif [شرط] ؛ ثم أوامر أخرى. أوامر fi

يتم عرض مثال بجوار حلقة For في القسم الخاص بها.

Ciclos

1. بينما: سيتم تنفيذ جميع الأوامر المحددة بين do and done طالما الشرط صحيح. إذا أردنا تمرير عوامل المقارنة إليه ، فيجب أن يكون التعبير بين قوسين.

بينما يتم تنفيذ الأوامر CONDITION / COMMAND

مثال: جدول الضرب لرقم

#! / bin / bash X = 1 echo "أدخل رقمًا واضغط على ENTER" اقرأ M # تتحكم الحلقة في أن X أقل من 10 أو تساوي 10 بينما [$ X –le 1] تفعل #In R نخزن ضرب X بواسطة MR = $ [X * M] # هذا الضرب مطبوع على الشاشة صدى "$ M * $ X = $ R" # مع السماح ، نزيد قيمة X بمقدار 1 وحدة دع X = $ X + XNUMX يتم

2. بالنسبة إلى: يخزن قائمة بالعناصر في متغير ، والتي سيتم استخدامها لإجراء عمليات معينة مع كل دورة.

بالنسبة لـ VARIABLE في العناصر ، قم بتنفيذ الأوامر

مثال: برنامج يقوم بنسخ ملف من مجلد إلى آخر ، مع استبدال ملف قديم.

# / bin / bash # أنشأنا مجلدات المصدر والوجهة ORIGIN = / home / user / Downloads DESTINATION = / home / user / Documents # نضع أنفسنا في المصدر cd $ ORIGIN # من بين جميع الملفات ، نريد فقط الملف الذي هو # استدعاء FILE للملف في * do ARCH-DESTINATION = "$ DESTINATION / $ FILE" # -f يقوم بتصفية الملفات العادية ، نظرًا لأن الدلائل # ليست جيدة بالنسبة لنا. –Nt يقوم بتصفية # ملفات "أحدث" من تلك التي تم العثور عليها في مجلد الوجهة إذا [-f $ FILE] && [$ FILE –nt $ ARCH-DESTINATION]؛ ثم صدى "Copying $ FILE ..." # نقوم بنسخ الملف مع cp $ FILE $ ARCH-DESTINATION fi تم # We cd للخروج من المجلد المصدر cd

مثال آخر: البرنامج النصي حيث يجب على المستخدم تخمين رقم عشوائي يولده الكمبيوتر.

# / bin / bash # يتم إنشاء رقم عشوائي من 1 إلى 10 ، يتم حفظه # في RANDOM RANDOM = $ [$ RANDOM٪ 10 + 1] بينما [1] do echo –n "Enter a number:" اقرأ NUM # قارن إذا كان الرقم الذي اختاره المستخدم هو # يساوي RANDOM ؛ تذكر استخدام $ لتقييم # قيم المتغيرات وليس أسمائها إذا [“$ NUM –eq“ $ RANDOM ”]؛ ثم صدى "لقد فهمت الأمر بشكل صحيح! #break يسمح بإنهاء الحلقة أثناء الاستراحة #If الرقم أقل من RANDOM elif [“$ NUM –gt“ $ RANDOM ”]؛ ثم صدى "It is less" "إذا لم يكن الأمر كذلك ، فهو أكبر من RANDOM وإلا صدى" هو أكبر "في عمله

3. حتى: مشابه تمامًا في البنية لـ while ، باستثناء أن الكود دائمًا ما يتم تنفيذه بينما يكون تقييم الشرط سالبًا ، أي أن البرنامج يستمر في التنفيذ "حتى يحدث الشرط"

حتى CONDITION / COMMAND ، نفذ الأوامر

مثال: اطبع الأرقام 10-20 بترتيب تنازلي

#! / bin / bash CONT = 20 # طالما أن العداد أقل من 10 (-lt ، "أقل # من") يتم تنفيذ الكود حتى [$ CONT -lt 10] ؛ do echo "COUNTER $ CONT" يتم طرح #A CONT بواسطة وحدة دع CONT- = انتهى 1

4. حدد: هذه الدورة الأخيرة هي حالة خاصة ، حيث يتم استخدامها بشكل عام لإنشاء القوائم بسرعة. وهي تعمل بشكل مشابه لحلقة For.

حدد VARIABLE في قائمة الأوامر المنفذة

مثال: منح المستخدم القدرة على متابعة النص أو إنهائه.

#! / bin / bash #item هو متغير يستجيب لما يختاره # المستخدم ، والمتابعة والإنهاء هما # الخيارات المتاحة له ، على الرغم من أنه يمكن إضافة خيارات أخرى # المزيد حدد عنصرًا في متابعة إنهاء افعل # إذا اختار المستخدم ننهي البرنامج ، ثم مع كسر نخرج من الدورة. إذا [$ item = "Finish"] ؛ ثم كسر فاي انتهى
شكرا لك خوان كارلوس أورتيز!

محتوى المقال يلتزم بمبادئنا أخلاقيات التحرير. للإبلاغ عن خطأ انقر فوق هنا.

13 تعليقات ، اترك لك

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   متوسط ​​صعب قال

    أعتقد أن شيئًا كهذا: tar -cf - Directory | (cd / other / directory؛ tar -xvf -)

    ثم سيبدو مثل / other / directory / Directory
    بهذه الطريقة قمت بضغط الدليل وفك ضغطه في مكان آخر….

  2.   ميغيل انخيل قال

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

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

    حتى الآن لدي ما يلي:

    أثناء قراءة الخط
    do
    صدى -e "$ line"
    find / home / myuser / dof "$ line" -exec readlink -f {}؛
    تم <testlist.txt حتى الآن قرأت الملف ، كل سطر به ، لكن لا يمكنني جعله يبحث عن هذا الملف واستخراج المعلومات ، إذا كان بإمكانك مساعدتي من فضلك ، شكرًا لك. في صحتك

  3.   باميلا جالافيز قال

    شكرا جزيلا للمساهمة 🙂

  4.   ماريو خافيير قال

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

  5.   Juank قال

    ARCH-DESTINATION هو متغير نريد فيه حفظ مسار الملف الوجهة ، باستثناء التكرار. ثم إلى هذا المتغير نشير إلى المتغير DESTINATION ، والذي يحتوي أعلاه على المسار إلى مجلد المستندات ونضيف "المتغير" FILE ، والذي يحتوي على اسم الملف. إذا كان هذا الملف ، على سبيل المثال ، list.doc ، فإن المتغير ARCH-DESTINATION سيكون مساوياً لـ /home/Usuario/Documentos/listado.doc

  6.   لنستخدم لينكس قال

    إنها المقالة السابقة. يمكنك الوصول إليه في http://usemoslinux.blogspot.com

    عناق! بول.

  7.   صريح قال

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

  8.   سايتو موردراغ قال

    جزئين استثنائيين ، تهانئي الخالصة.

    ببساطة مذهل.

  9.   فريدي قال

    بيين

  10.   هوغو قال

    مرحبًا ، أقوم بإنشاء برنامج باستخدام CASE ، وما أريده أن يفعله ولا أعرف كيف ، على سبيل المثال:

    صدى يختار خيارًا:
    صدى
    صدى 1. الخيار 1
    صدى 2. الخيار 2
    صدى 3. الخيار 3
    صدى 4. الخيار 4
    صدى 5. خروج
    قراءة فار
    الحالة "$ var" في
    1)
    صدى "لقد حددت الخيار 1"
    ;;
    2)
    صدى "لقد حددت الخيار 2"
    ;;
    3)
    رما - طرد - قذف "….."
    ;;
    4)
    رما - طرد - قذف "…."
    ;;
    5)
    رما - طرد - قذف "…"

    ;;
    *)
    صدى "خيار خاطئ"
    ;;
    ESAC

    حسنًا ، ما لا أعرف كيف أفعله هو أنه عندما أحدد الخيار 4 وهو المغادرة ، اسأل عما إذا كنت أرغب حقًا في المغادرة ، وأعطيني خيارين Y & N

    والآخر هو أنه عندما تختار شيئًا غير الأرقام 1..5 لا تصوت لي من النص….

    هل يمكنك مساعدتي شكرا.

  11.   داباما 21 قال

    مرحبًا ، لقد بدأت في البرمجة النصية منذ شهر واحد وبفضل مشاركاتك النصية. سأفعل حوالي 1-15. شكرا جزيلا لك مقدما. لكن معلمنا الآن أعطانا وظيفة أصبحت فيها راكدة. منذ أن يسأل المعلم:
    تمرير دليل ، انسخ إلى منزلك جميع الملفات الموجودة في هذا الدليل أبجديًا وقم بتسميتها file1 file2 وما إلى ذلك ... إلخ ...
    أنا الآن في لحظة البحث أو تحديد الموقع ، كنت أرغب في استخدام البحث ولكن عند إعطائه رمز خطأ مثل وضعه في dev null ، تم رفض الأذونات ثم أخطأت وأضع الموقع الذي أنا هنا:
    حدد موقع $ 1 | grep "/ $ {1} \ $"
    لكن بالطبع مع هذا خرجوا جميعًا ...
    شكرا جزيلا لك إذا قرأته.
    إذا كنت تستطيع مساعدتي فسيكون ذلك معروفا كبيرا.

  12.   لويس قال

    أود أن تساعدني في هذا.
    1. -إدخال رقم كامل عن طريق لوحة المفاتيح وعرض مرتين وثلاثة أضعاف هذا الرقم على الشاشة. 2.- قم بعمل برنامج لتحديد ما إذا كان الرقم المدخل بواسطة لوحة المفاتيح قابل للقسمة على 3 أم لا.
    3.- قم بعمل برنامج لإيجاد مجموع: ؟؟؟؟؟؟؟؟ + ؟؟؟؟؟؟؟؟ + ؟؟؟؟؟؟؟؟ + ؟؟؟؟؟؟؟؟ + ⋯؟ ؟؟؟؟؟؟؟
    4.- قم بعمل برنامج لإيجاد المجموع 1 + 3 + 5 + 7 + 9 · · · + (2n + 1).
    5. - عمل برنامج يقوم بطباعة كلمة لينكس على الشاشة 10 مرات
    6. - عمل برنامج يقوم بطباعة كلمة لينكس على الشاشة بعدد المرات التي أشار إليها المستخدم.
    7.-أدخل المبلغ بالساعات وقم بتحويلها إلى دقائق وثواني.
    8.-احسب مساحة المثلث
    9.-أدخل رقمًا على لوحة المفاتيح ، ثم إذا أدخلت الرقم 2 ، فيجب أن يكون مربعًا ، و 3 مكعّبًا ، و 4 إلى الرابع وهكذا حتى 6.
    10-احتساب المعاش الذي يجب على الطالب دفعه وإدخال رمز التخصص والأيام المتأخرة:
    الشفرة
    تخصص
    كمية
    المدة في اليوم
    1
    الحوسبة
    160
    1
    2
    التمريض
    150
    1.5
    3
    سكرتارية
    140
    2
    4
    السياحة
    180
    2.5
    5
    التحليليه المحاسبه
    160
    1
    يجب عليك إظهار التخصص الذي تدرسه ، وتكلفة المعاش ، والتقصير والمبلغ الإجمالي الذي يجب دفعه.

  13.   شارلي قال

    مرحبا هل يمكن لاحد مساعدتي؟
    أحتاج إلى «طلب ثلاث كلمات بلوحة المفاتيح وعرضها بالترتيب الأبجدي من الألف إلى الياء»
    في لغة Bash أو sh لـ LINUX porfaborrrr