پنج‌شنبه 24 مهر 1404
Bash Script
backdrop image


  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 bashman test) و آموزش‌های آنلاین استفاده کنید.
  • دقت کنید در علامت‌گذاری شرط‌ها و فاصله‌ها؛ در [ "$a" = "$b" ] فضای اطراف براکت‌ها لازم است.
  • برای اسکریپت‌های پیچیده‌تر بهتر است از bash strict mode (set -euo pipefail) و نوشتن پیام‌های خطای مناسب استفاده کنید.


تماس با ماسوالات متداولشماره تماس
خانهحساب کاربریتماس بامامقالاتثبت مشاوره