مزيد من الخيارات
تدعم القراءة الخيارات التالية:
الجدول 28-1: قراءة الخيارات
وصف الخيار
وصف الخيار
-a مجموعة قم بتعيين الإدخال إلى مجموعة، بدءًا من الفهرس صفر. نحن
سيغطي المصفوفات في الفصل 35.
-d محدد الحرف الأول في السلسلة محدد يستخدم ل
تشير إلى نهاية الإدخال ، بدلاً من حرف سطر جديد.
-e استخدم Readline للتعامل مع الإدخال. يسمح هذا بتحرير الإدخال بنفس طريقة سطر الأوامر.
-i سلسلة استعمل سلسلة كرد افتراضي إذا ضغط المستخدم ببساطة
يدخل. يتطلب -e الخيار.
-n NUM عرض NUM أحرف الإدخال ، بدلاً من سطر كامل.
-p موجه عرض مطالبة للإدخال باستخدام السلسلة موجه.
-r وضع الخام. لا تفسر أحرف الشرطة المائلة للخلف على أنها عمليات هروب.
-s الوضع الصامت. لا تقم بترديد الأحرف على الشاشة أثناء كتابتها. هذا مفيد عند إدخال كلمات المرور وغيرها من المعلومات السرية.
-t ثواني نفذ الوقت. إنهاء الإدخال بعد ثواني. اقرأ إرجاع
حالة خروج غير صفرية إذا انتهت مهلة الإدخال.
-u fd استخدم الإدخال من واصف الملف fd، بدلا من المدخلات القياسية.
باستخدام الخيارات المختلفة ، يمكننا القيام بأشياء مثيرة للاهتمام باستخدام اقرأ. على سبيل المثال ، مع
الخيار -p ، يمكننا تقديم سلسلة نصية فورية:
#! / بن / باش
# read-single: قراءة قيم متعددة في المتغير الافتراضي read -p "أدخل قيمة واحدة أو أكثر>"
صدى "REPLY = '$ REPLY'"
#! / بن / باش
# read-single: قراءة قيم متعددة في المتغير الافتراضي read -p "أدخل قيمة واحدة أو أكثر>"
صدى "REPLY = '$ REPLY'"
مع -t و -s خيارات يمكننا كتابة نص برمجي يقرأ الإدخال "السري" وتنتهي المهلة إذا لم يكتمل الإدخال في وقت محدد:
#! / بن / باش
# read-secret: أدخل عبارة مرور سرية
if read -t 10 -sp "أدخل عبارة المرور السرية>" secret_pass؛ ثم صدى -e "\ n كلمة المرور السرية = '$ secret_pass'"
آخر
صدى -e "\ n انتهت مهلة الإدخال"> & 2 خروج 1
fi
#! / بن / باش
# read-secret: أدخل عبارة مرور سرية
if read -t 10 -sp "أدخل عبارة المرور السرية>" secret_pass؛ ثم صدى -e "\ n كلمة المرور السرية = '$ secret_pass'"
آخر
صدى -e "\ n انتهت مهلة الإدخال"> & 2 خروج 1
fi
يطالب البرنامج النصي المستخدم بإدخال عبارة مرور سرية وينتظر إدخاله لمدة 10 ثوانٍ. إذا لم يكتمل الإدخال خلال الوقت المحدد ، فسيتم إنهاء البرنامج النصي مع ظهور خطأ. منذ
يتم تضمين الخيار -s ، ولا يتم صدى أحرف عبارة المرور على الشاشة أثناء كتابتها.
من الممكن تزويد المستخدم باستجابة افتراضية باستخدام امتداد -e و -i خيارات لـ- gether:
#! / بن / باش
# read-default: قم بتوفير قيمة افتراضية إذا ضغط المستخدم على مفتاح Enter. read -e -p "ما هو اسم المستخدم الخاص بك؟" -i $ USER
صدى "لقد أجبت: '$ REPLY'"
#! / بن / باش
# read-default: قم بتوفير قيمة افتراضية إذا ضغط المستخدم على مفتاح Enter. read -e -p "ما هو اسم المستخدم الخاص بك؟" -i $ USER
صدى "لقد أجبت: '$ REPLY'"
في هذا البرنامج النصي ، نطلب من المستخدم إدخال اسم المستخدم الخاص به واستخدام متغيرات البيئة USER لتوفير قيمة افتراضية. عند تشغيل البرنامج النصي ، فإنه يعرض السلسلة الافتراضية وإذا ضغط المستخدم ببساطة على مفتاح Enter ، اقرأ سيعين السلسلة الافتراضية إلى الرد المتغير.
[me @ linuxbox ~] $ قراءة الافتراضي ما هو اسم المستخدم الخاص بك؟ أنا أجبت: "أنا"
[me @ linuxbox ~] $ قراءة الافتراضي ما هو اسم المستخدم الخاص بك؟ أنا أجبت: "أنا"