بعد التطرق الى 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#
بدون ان ترفق رابط الموقع . كلمة منقول لا تكفي . كان هذا مجرد توضيح أتمنى
الافادة . شكرا
إرسال تعليق