الأحد، 17 مارس 2019

test في ال Bash - الدرس الخامس





بعد التطرق الى echo , read , variables , arguments  الان نحن على استعداد لإضافة بعض الحيل للسكربت حتى يصبح أكثر قوة وسهل الإستخدام .
لنبدأ أولا ب logical operators :



·        && : AND
·                           || : OR


&& : منطقية AND  , تأخد القيمة True  فقط اذا كانت جميع التعابير صحيحة اي True  .    
   


First_command && Second_command


سيتم تنفيذ Second_command اذا تم تنفيد الامر الأول First_command . بمعنى اخر طبق Second_command بعد نجاح الامر First_command . طبعا نحتاج الى مثال ;)




rm test1 && echo “File deleted.”


بعد أن يتم حذف test1 سيتم طباعة القيمة File deleted



|| : منطقية OR  , تأخد القيمة True  فقط اذا كان أحد التعابير صحيحا اي True  .
مثال :


First_command || Second_command



سيتم تنفيذ Second_command فقط اذا لم يتم تنفيد الامر الأول First_command . بمعنى اخر طبق Second_command اذا لم ينجح First_command



مثال :



cat test1 || echo "Failed to open file"



الامر cat سيحاول فتح الملف test1 ولن يتم ذلك لانني لا أملك صلاحية فتح الملف , بعد ذلك سيمر على الامر الثاني وسيطبع Failed to open file



شيء اخر إذا كانت لك تجربة سابقة مع لغات أخرى فستكون لديك فكرة التالية في logical operators :


0 = False
1 = True


لكن في bash الأمر مختلف تماما


0 يعني success
رقم اخر يعني error



تطرقت الى كل هذا لحتى أمُر للأمر test
يتم استخدام test  للتحقق من أنواع الملفات ومقارنة القيم ( value ) :

test command syntax

لنوظف ما سبق مع الامر test




test condition

Example :

test $USER = itechuser




test condition && true-command


Example :

test $USER = itechuser && echo “welcome ITechuser to Linux”




test condition || false-command



Example :




test $USER = itechuser || echo “ You are Not Itechuser ”



test condition && true-command || false-command



Example :




test $USER = itechuser && echo “welcome ITechuser to Linux” || echo “ You are Not Itechuser ”


ليس هذا فقط , test أيضا يعتمد على options


Test نوع الملف

هذه الخيارات لاختبار أنواع معينة من الملفات . جميع الحالات ستأخد القيمة 0 أي True فقط في حالة وجود الملف .

-e  : تتحقق إذا كان الملف موجودا

f- :   ملف عادي وليس directory

s- : ملف يفوق حجمه 0 يعني ليس فارغا

d- : أن الملف Directory

r- : read permission

w- : write permission

x- : executable permission

File1 –nt file2 : الملف file1 أحدث من file2

File1 –ot file2 : الملف file1 أقدم من file2



هذه ليست كل الخيارات ذكرت الأهم والأبسط , الباقي سيأتي مع الدروس القادمة .



شيء اخر المقالات في الموقع مسهور عليها حتى قمت بوضعها على منهج يناسب مبتدئ وحتى مستوى متوسط لدى ان أردت نقل الموضوع كما قام البعض فقط اعمل #Hash_tag ITechuser# بدون ان ترفق رابط الموقع . كلمة منقول لا تكفي . كان هذا مجرد توضيح أتمنى الافادة . شكرا


[full-width]

إرسال تعليق

Whatsapp Button works on Mobile Device only