ان كنت مداوما على الموقع انت تعرف ما عليك لا تنسى دعم الموقع بنشر المقال أو بوضع
تعليق , كثمن للجهد .
كنت جديداَ
على الموقع نرحب بك ونتمنى أن تستفيد من المقالات التي أسهر عليها حتى تتضمن شرحا
وافي , الان كل ما عليك ان تدعم الموقع بنشر المقال أو بوضع تعليق .
قد يكون
العنوان غير واضح للجدد في البرمجة لكن للتوضيح سأعطي مثال على Arguments . سنأخد من الدرس السابق فقط امر
تنفيذ السكربت مع اضافة argument :
0xy4hy4@ITechuser:
~
$
bash script –help█
Arguments تسمح لك بإدخال قيمة من خارج
السكربت , كمثال على argments
0xy4hy4@ITechuser:
~
$
cat x.txt█
x.txt هو argument . cat ستقوم بإدخال
القيمة النصية وعرض المحتوى الموجود على ذلك argument
0xy4hy4@ITechuser:
~
$
bash script fname lname age█
اذا أردنا
نجعل السكربت يقرأ الكلمات المدخلة
- $0 هذا المتغير بشكل افتراضي يحتفظ بقيمة اسم السكربت "script"
- $1 هذا المتغير بشكل افتراضي يحتفظ بالقيمة "fname"
- $2 هذا المتغير بشكل افتراضي يحتفظ بالقيمة "lname"
- $3 هذا المتغير بشكل افتراضي يحتفظ بالقيمة "age"
لنجرب الان
كل ما سبق في سكربت يقوم بطباعة اسم السكربت , الاسم الاول , الاخير , والسن الذي
تم ادخاله من طرف المستخدم .
#!/bin/bash
echo "Hello ! "
echo “script name : $0 ”
echo “First Name : $1 ”
echo “Last Name : $2 ”
echo “Age : $3 ”
السكربت واضح
. تعمدت ان أضعه بشكل مبسط بتكرار echo كثيراَ
امر اخر اذا
أردنا طباعة كل arguments
#!/bin/bash
echo "you have entered this arguments : $* "
الان لنلقي
نظرة على اختلاف الاقتباسات وماهو الفرق بين اقتباس مفرد (
'') و اقتباس مزدوج ("")
و backslash (\)
(single quote , double quote and
backslash)
في الدرس
الاول عندما قمنا بطباعة قيمة نصية dHello worl لا يهم ان
استعملنا single or double لان كلاهما
سيعطي نفس النتيجة .
لكن لس هو
الحال مع السيناريو السابق . لذلك من المهم أن نفهم الية عمل الاقتباسات .
كما رأينا
سابقا في
echo “script name : $0 ”
فان استخدام double quote ينتج عنه طباعة القيمة النصية script name : مصحوبة بقيمة المتغير $0
script name
: script
في حين اذا استخدمنا single
quote سينتج عنه طباعة القيمة النصية
متبوعة باسم المتغير $0 كقيمة نصية وليس قيمة المتغير .
script name : $0
اذن ف double quote تعتبر كل اسم بعد اشارة $ كاسم متغير . و single quote تعتبر كل
شيء قيمة نصية .
أيضا يمكننا
تخطي حاجز double quote وجعل اسم متغير يطبع كقيمة نصية اي
جعله كدور single quote وذلك بإضافة (\) قبل $
مثال :
echo “First name : \$1 ”
طبعا Arguments لديها
دور كبير سنراه في الدروس القادمة . أتمنى ان يكون الشرح خفيف وسهل . شكراَ
إرسال تعليق