متوسط · ۹ دقیقه مطالعه · به‌روزرسانی ۲۰۲۶-۱۱

خودکارسازی با اسکریپت‌های Bash

دنباله‌ای از دستورها را که هر روز تایپ می‌کنی به یک اسکریپت تبدیل کن که با یک کلمه اجرا می‌شود.

یک اسکریپت Bash فقط یک فایل متنی پر از همان دستورهایی است که با دست تایپ می‌کنی، که از بالا به پایین اجرا می‌شوند. اگر کاری را بیش از دو بار انجام می‌دهی، ارزش اسکریپت‌کردن دارد. یک فایل با پسوند .sh بساز و با یک خط اول خاص شروعش کن.

اولین اسکریپتت

خط اول، که «شیبنگ» نام دارد، به سیستم می‌گوید کدام برنامه باید فایل را اجرا کند. بعد دستورها و توضیح‌ها (خط‌هایی که با # شروع می‌شوند) را اضافه می‌کنی.

bash
#!/bin/bash
# backup.sh — copy today's logs into a dated folder
today=$(date +%Y-%m-%d)
mkdir -p "backups/$today"
cp *.log "backups/$today/"
echo "Backed up logs into backups/$today"
تاریخ را در یک متغیر ذخیره می‌کند، یک پوشه می‌سازد، و لاگ‌ها را داخلش کپی می‌کند.

اجرایش کن

یک بار با chmod فایل را قابل‌اجرا کن، بعد اجرایش کن. علامت $(…) یک دستور را اجرا می‌کند و خروجی‌اش را داخل خط تو می‌گذارد — اینجا، تاریخ امروز.

bash — real output
$ chmod +x backup.sh
$ ./backup.sh
Backed up logs into backups/2026-11-02
اسکریپت اجرا می‌شود و می‌گوید فایل‌ها را کجا ذخیره کرد.

متغیرها و شرط‌ها

bash
#!/bin/bash
host="8.8.8.8"
if ping -c 1 "$host" > /dev/null; then
  echo "$host is reachable"
else
  echo "$host is DOWN"
fi
یک بار به یک میزبان پینگ می‌زند و وضعیتش را می‌گوید — یک مانیتور کوچک.
همیشه متغیرها را در گیومه‌ی دوتایی بگذار ("$host" نه $host). این تو را از باگ‌های عجیب وقتی یک مقدار فاصله دارد نجات می‌دهد.
همه‌ی مقاله‌ها