Bash چیست؟
پرکاربردترین Shell خطفرمان لینوکس؛ هم برای اجرای تعاملی دستورات و هم برای نوشتن اسکریپتهای خودکارسازی استفاده میشود.
چرا مهم است؟
تقریباً هر Pipeline دیپلوی، Dockerfile و Cron Job از دستورات Bash تشکیل شده؛ بدون تسلط پایه روی آن، دیباگ کردن سرور یا CI/CD عملاً غیرممکن است.
تعریف
Bash (Bourne Again Shell) هم یک مفسر خطفرمان تعاملی است و هم یک زبان اسکریپتنویسی برای نوشتن دستورات پشتسرهم، با متغیر، شرط و حلقه.
مثال
#!/bin/bash
for file in *.log; do
if [ -s "$file" ]; then
echo "پردازش $file"
gzip "$file"
fi
done
عملگرهای پرکاربرد
|(Pipe): خروجی یک دستور را ورودی دستور بعدی میکند:cat app.log | grep ERROR&&/||: اجرای شرطی دستور بعدی بر اساس موفقیت/شکست قبلی.$(): اجرای یک دستور و استفاده از خروجیاش:echo "امروز: $(date)"
اشتباه رایج
❌ فراموشکردن " دور متغیرها (rm $file بهجای rm "$file") — اگر نام فایل فاصله یا کاراکتر خاص داشته باشد، دستور بهشکل غیرمنتظرهای رفتار میکند یا فایل اشتباه را پاک میکند.
منبع و مطالعه بیشتر
خلاصه
Bash هم Shell تعاملی و هم زبان اسکریپتنویسی لینوکس است. همیشه متغیرها را داخل "$var" بگذارید تا با فاصله/کاراکتر خاص دچار مشکل نشوید. مرجع کامل: راهنمای رسمی GNU Bash و devhints.io.
