

Bash script (اسکریپت بش) یک فایل متنی است که شامل مجموعهای از دستورات برای پوستهٔ Bash
(Bourne Again SHell)میباشد. با اجرای این فایل، دستورات بهصورت خط به خط توسط پوسته اجرا میشوند. بیشتر برای خودکارسازی کارها، اجرای دستهای دستورات، مدیریت سیستم و نوشتن ابزارهای ساده استفاده میشود.
نکات کلیدی:
- قالب فایل: معمولاً با خط شِبانگ (shebang) شروع میشود:
bash
#!/bin/bash
این خط به سیستم میگوید که از پوستهٔ Bash برای اجرای فایل استفاده کند.
- مجوز اجرا: باید فایل قابلیت اجرا داشته باشد:
bash
chmod +x script.sh
./script.sh
- متغیرها: میتوانید متغیر تعریف و استفاده کنید:
bash
name="Ali"
echo "سلام $name"
- پارامترها: آرگومانهای ورودی در 1$, 2$, ... و تعداد آرگومانها در $#
- ساختار کنترلی: شرطها و حلقهها مانند if, for, while پشتیبانی میشوند:
bash
if [ "$1" = "hello" ]; then
echo "سلام"
fi
for i in 1 2 3; do
echo $i
done
- توابع: تعریف و استفاده از توابع برای سازماندهی کد:
bash
greet() {
echo "سلام $1"
}
greet "ثنا"
- خواندن ورودی: با read میتوان ورودی کاربر را گرفت:
bash
read -p "اسم شما؟ " name
echo "خوشبختم، $name"
- مدیریت خطاها: بررسی کد خروج (exit status) با $? و استفاده از set -e برای خروج هنگام خطا.
- مثال ساده کامل:
bash
#!/bin/bash
# اسکریپت نمونه: پشتیبانگیری ساده
SRC="$1"
DST="$2"
if [ -z "$SRC" ] || [ -z "$DST" ]; then
echo "Usage: $0 source_dir dest_dir"
exit 1
fi
if [ ! -d "$SRC" ]; then
echo "منبع پیدا نشد: $SRC"
exit 1
fi
tar -czf "$DST/backup-$(date +%F).tar.gz" -C "$SRC" .
echo "پشتیبانگیری انجام شد."
منابع و نکات بیشتر:
- برای یادگیری دستورات بیشتر میتوانید از man pages مثلاً (man bash, man test) و آموزشهای آنلاین استفاده کنید.
- دقت کنید در علامتگذاری شرطها و فاصلهها؛ در [ "$a" = "$b" ] فضای اطراف براکتها لازم است.
- برای اسکریپتهای پیچیدهتر بهتر است از bash strict mode (set -euo pipefail) و نوشتن پیامهای خطای مناسب استفاده کنید.