في هذا الموضوع، سوف نتعلم كيفية قراءة مدخلات المستخدم من الوحدة الطرفية والبرنامج النصي.
لقراءة مدخلات مستخدم Bash، نستخدم أمر Bash المدمج المسمى يقرأ . يأخذ المدخلات من المستخدم ويعينها للمتغير. يقرأ سطرًا واحدًا فقط من Bash Shell. وفيما يلي بناء الجملة لتنفيذه.
بناء الجملة
read
اتبع الأمثلة المذكورة لقراءة مدخلات المستخدم من Bash Script:
مثال 1:
في هذا المثال، نقرأ المتغيرات الفردية والمتعددة من Bash Script باستخدام أمر القراءة.
برنامج:
#!/bin/bash # Read the user input echo 'Enter the user name: ' read first_name echo 'The Current User Name is $first_name' echo echo 'Enter other users'names: ' read name1 name2 name3 echo '$name1, $name2, $name3 are the other users.'
انظر وحدة تحكم باش:
انتاج:
ماذا سيحدث إذا لم نمرر أي متغير باستخدام أمر القراءة؟
إذا لم نمرر أي متغير باستخدام أمر القراءة، فيمكننا تمرير متغير مدمج يسمى رد (يجب أن تكون مسبوقة بعلامة $) أثناء عرض الإدخال. ويمكن شرح ذلك باستخدام البرنامج التالي:
طباعة بايثون إلى منزلتين عشريتين
برنامج:
#!/bin/bash # using read command without any variable echo 'Enter name : ' read echo 'Name : $REPLY'
على وحدة تحكم باش:
انتاج:
مثال 2:
في هذا المثال، نقوم بإدخال الإدخال على نفس المطالبة باستخدام -p خيار سطر الأوامر على النحو التالي:
read -p PROMPT
برنامج:
#!/bin/bash read -p 'username:' user_var echo 'The username is: ' $user_var
انظر وحدة تحكم باش:
انتاج:
مثال 3:
هذا المثال هو إبقاء الإدخال في الوضع الصامت، بحيث يتم إخفاء أي إدخال للمستخدم في سطر الأوامر عن الآخرين.
رمي معالجة الاستثناءات في Java
لذلك، نقوم بتمرير اسم مستخدم وإخفاء كلمة المرور (الوضع الصامت) باستخدام خيارات سطر الأوامر (-s، -p) الشائعة كما يلي:
read -sp PROMPT
حيث -s يسمح للمستخدم بالاحتفاظ بالإدخال في الوضع الصامت و -p للإدخال في موجه الأوامر الجديد.
الميراث في C++
برنامج:
#!/bin/bash read -p 'username : ' user_var read -sp 'password : ' pass_var echo echo 'username : ' $user_var echo 'password : ' $pass_var
انظر وحدة تحكم باش:
انتاج:
ملاحظة: في 5ذسطر من البرنامج النصي، لقد قدمنا سطرًا فارغًا باستخدام أمر echo، لأنه إذا لم نجعله فارغًا، فسوف يعطي إخراجًا بكل من كلمة المرور واسم المستخدم على نفس المطالبة كما في الصورة أدناه.
لذلك، اكتب البرنامج النصي الخاص بك عن طريق إضافة سطر أوامر echo فارغًا.
مثال 4: هذا المثال مخصص لإدخال مدخلات متعددة باستخدام مصفوفة. لذا استخدم خيار سطر الأوامر -a كما يلي:
read -a
أين -أ يساعد البرنامج النصي على قراءة مصفوفة، ويشير اسم المتغير إلى مصفوفة.
برنامج:
#!/bin/bash # Reading multiple inputs using an array echo 'Enter names : ' read -a names echo 'The entered names are : ${names[0]}, ${names[1]}.'
راجع الكود الموجود على Bash Console:
انتاج: