Files
nearology 99fb7f0e82 Add sitemap and styles for Persian font integration
- Created a new sitemap.xml file for better SEO.
- Added a compressed version of the sitemap as sitemap.xml.gz.
- Introduced extra.css for custom styles, including Persian font support (IRANSansX).
- Defined font-face rules for regular and bold styles of IRANSansX.
- Implemented various text styles and layout adjustments for better readability.
- Enhanced Mermaid diagram styles to support Persian text rendering.
2026-04-28 15:27:18 +03:30

2.8 KiB

درسنامه ۳-۵: شرط‌ها در Bash (if)

در این درس یاد می‌گیریم چگونه با استفاده از شرط‌ها (if) در اسکریپت تصمیم بگیریم؛ مثلا اگر سن کاربر بالای ۱۸ بود یک پیام خاص و در غیر این صورت پیام دیگری نمایش دهیم.

ساختار کلی if در Bash

ساختار پایهٔ یک شرط:

if [ شرط ]
then
  دستورات اگر شرط درست بود
else
  دستورات اگر شرط نادرست بود
fi

نکته‌ها:

  • fi همان if برعکس است و پایان بلوک شرطی را مشخص می‌کند.
  • بین [ و شرط و ] باید فاصله بگذارید.

مثال: بررسی سن کاربر

#!/bin/bash

read -p "سن شما چند ساله است؟ " AGE

if [ "$AGE" -ge 18 ]
then
  echo "You are an adult."
else
  echo "You are not an adult yet."
fi

در این‌جا:

  • -ge یعنی «بزرگ‌تر یا مساوی».
  • از کوتیشن " " برای متغیر استفاده کرده‌ایم تا اگر خالی بود، خطای عجیبی ندهد.

مقایسهٔ عددی و متنی

چند عملگر عددی رایج:

  • -eq مساوی
  • -ne نامساوی
  • -gt بزرگ‌تر
  • -lt کوچک‌تر
  • -ge بزرگ‌تر یا مساوی
  • -le کوچک‌تر یا مساوی

مثال:

if [ "$AGE" -lt 13 ]; then
  echo "Child"
elif [ "$AGE" -lt 18 ]; then
  echo "Teenager"
else
  echo "Adult"
fi

برای مقایسهٔ رشته‌ای ساده:

  • [ "$NAME" = "Ali" ] یا [ "$NAME" != "Ali" ]

مثال: بررسی آرگومان

#!/bin/bash

if [ -z "$1" ]; then
  echo "Please provide a name as an argument."
  echo "Example: bash script.sh Ali"
  exit 1
fi

NAME="$1"
echo "Hello $NAME!"

در این‌جا:

  • -z "$1" یعنی «آرگومان اول خالی است».
  • با exit 1 اسکریپت را با کد خطا خاتمه می‌دهیم (در این مرحله فقط بدانید که ۰ یعنی موفق، غیر از آن یعنی خطا).

تمرین کوتاه

  • اسکریپتی بنویسید که از کاربر سن را بپرسد و یکی از پیام‌های «کودک»، «نوجوان»، «بزرگسال» را نمایش دهد.
  • اسکریپتی بنویسید که یک عدد از کاربر بگیرد و بگوید زوج است یا فرد (راهنما: از عملگر % همراه با دستور expr یا $(( )) استفاده کنید؛ اگر هنوز با این‌ها آشنا نیستید، می‌توانید این تمرین را برای بعد نگه دارید).

در درس بعد، با مجوزهای اجرایی (chmod) و روش‌های مختلف اجرای اسکریپت آشنا می‌شویم.