Bash
از اولین قدم تا محصول واقعی
Bash را با اسکریپت پشتیبانگیری امن یاد بگیر؛ از quoting و status تا find، trap، curl، rsync، ShellCheck و تست.
این پروژه را در 20 قدم کوتاه میسازی. هر درس فقط یک موضوع تازه دارد و با نمونه قابل دیدن تمام میشود.
20 قدم کوتاه و مرتب
هر درس فقط یک مفهوم تازه دارد: اول خیلی ساده میخوانی، بعد مثال میبینی، کد را تغییر میدهی و با آزمون کوتاه مطمئن میشوی.
ترمینال و اولین اسکریپت Bash
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
متغیر و quoting
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
آرگومانهای خط فرمان
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Exit status و &&
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
شرط فایل و متن
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
حلقه روی فایلها
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
تابع و local
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Array و associative array
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
خواندن ورودی کاربر
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Redirect و pipeline
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Command substitution و arithmetic
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
find و xargs امن
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
پردازش متن با sed و awk
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
فایل موقت و trap
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Strict mode و گزارش خطا
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
درخواست HTTP با curl
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
همگامسازی با rsync و SSH
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
Config و secret
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
ShellCheck و تست
یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.
پروژه؛ پشتیبانگیری امن
همه آموختهها را به یک پروژه کامل و قابل ارائه تبدیل کن.
اسکریپت backup با archive، checksum، retention و بازیابی آزمایشی
این پروژه یک نمونه تزئینی نیست. مدل داده، قوانین، حالت خطا، آزمون و مسیر انتشار را قدمبهقدم کامل میکنی.
- تعریف مسئله و کاربر واقعی
- ساخت نسخه کوچک اما انتهابهانتها
- آزمون مسیر موفق، مرزی و خطا
- آمادهسازی خروجی برای ارائه و بازخورد
#!/usr/bin/env bash
set -Eeuo pipefail
printf 'folder: %s\n' "$PWD"
date '+%Y-%m-%d %H:%M:%S'