Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مدخلات المستخدم في الـ Scripts

جزء من قسم الأساسيات في رحلة Terminal على Coddy — الدرس 69 من 82.

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

إليك كيف يعمل ذلك:

#!/bin/bash
echo "What is your name?"
read name
echo "Hello, $name!"

عندما يتم تشغيل هذا السكربت، يقوم بطباعة السؤال، وينتظر من المستخدم كتابة اسمه والضغط على Enter، ثم يقوم بتحيتهم. يأخذ الأمر read كل ما يكتبه المستخدم ويخزنه في المتغير name.

يمكنك جعل المطالبة أكثر ترتيباً باستخدام الخيار -p، الذي يجمع بين رسالة المطالبة والمدخلات في نفس السطر:

#!/bin/bash
read -p "Enter your name: " name
echo "Hello, $name!"

يعرض هذا Enter your name: وينتظر الإدخال على نفس السطر، مما يجعله يبدو أكثر تنسيقاً. يأخذ الخيار -p نص المطالبة كمعامل له، يليه اسم المتغير لتخزين الإدخال.

تجعل مدخلات المستخدم البرامج النصية تفاعلية وقابلة للتكيف. فبدلاً من كتابة القيم بشكل ثابت (hardcoding)، يمكنك كتابة برنامج نصي واحد يعمل بشكل مختلف بناءً على ما يقدمه المستخدم في كل مرة يقوم فيها بتشغيله.

challenge icon

التحدي

سهل

قم بإنشاء نص برمجي (shell script) يسمى greeter.sh يطلب من المستخدم لونه المفضل ثم يعرض رسالة باستخدام مدخلاته.

يجب أن يقوم النص البرمجي الخاص بك بـ:

  1. البدء بسطر shebang (#!/bin/bash)
  2. استخدام read مع علامة -p لإظهار رسالة الحث: What is your favorite color?
  3. تخزين المدخلات في متغير يسمى color
  4. استخدام echo لطباعة: Nice! [color] is a great color! (حيث [color] هو مدخلات المستخدم)

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

يجب أن تكون مخرجاتك:

What is your favorite color? blue
Nice! blue is a great color!

تلميح: قم ببناء النص البرمجي سطراً بسطر باستخدام echo مع إعادة التوجيه. استخدم read -p "What is your favorite color? " color للحث والتقاط المدخلات، ثم echo "Nice! $color is a great color!" لعرض النتيجة.

ورقة مرجعية

يقوم الأمر read بإيقاف البرنامج النصي مؤقتاً وانتظار إدخال المستخدم، ثم تخزينه في متغير:

#!/bin/bash
echo "What is your name?"
read name
echo "Hello, $name!"

استخدم العلامة -p لعرض المطالبة والإدخال في نفس السطر:

#!/bin/bash
read -p "Enter your name: " name
echo "Hello, $name!"

تأخذ العلامة -p نص المطالبة كوسيط لها، يليه اسم المتغير لتخزين الإدخال.

جرّب بنفسك

الطرفية
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات