التيرمينال ولا الشيل؟الشباك تيرمينال. اللي بيفسّر السطر شيل، غالبًا bash
أمر مش لاقي
type و command -v و PATHنسيت العلم
man أو --helpمسافة بين كلمتينحجج لنفس الأمر، مش أمر جديد
حجة فيها مسافةتنصيص مزدوج
أمر بعد أمر حتى لو الأول فشل
; أو سطر جديدالتاني بس لو الأول نجح
&&التاني بس لو الأول فشل
||مخرج يخش مدخلماسورة
| ودي stdout بسخلّيه يشتغل ومتستناش
& وبعدين wait لو محتاج الناتجلخبطت & و &&
& خلفية. && نجاحالناتج في ملف ويمسح القديم
>تزويد على ملف
>>الغلط لوحده
2> و 2>&1 بعد تحويل الناتجاسكت الناتج
>/dev/nullآخر رقم خروج
$? والصفر نجاحقيمة متغير
"$name" مش $name لوحدهامتغير يوصل للبرنامج الابن
exportنجمة في الأمرالشيل يفكها لأسماء ملفات قبل البرنامج
تغيير فولدر يفضل بعد الملف
source مش ./أول سطر في السكربت
#!/usr/bin/env bashمش بيتنفّذ
chmod +x وبعدين ./script.shbash وقع لما اتشغّل بـ shشغّله بـ bash.
sh أضيقحجة ناقصة
${1:?رسالة}كل الحجج محفوظة
"$@"غلط يكمل السكربت
set -euo pipefailالماسورة بتبلع الفشل
pipefailعايز تشوف السطر بعد الفك
bash -xمسح بمتغير فاضيمتعملوش. اقتبس وتأكد إن المسار مش فاضي ومش
/لف على ملفاتنمط أو
find، مش lsمنطق بقى برنامجسيّب الشيل. Python أوضح
خلّصت المذكرة لما
🧠 اختبر نفسك
١) مسافة ولا ; بين أمرين؟
; أو سطر جديد. المسافة كلمات جوّه أمر واحد.٢) عايز التاني يحصل بس لو الأول نجح: & ولا &&؟
&&. علامة & لوحدها خلفية.٣) أول سطرين في سكربت bash هتسلّمه لسيرفر؟
shebang
bash، وبعدين set -euo pipefail.