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

88 lines
2.8 KiB
Markdown

# درسنامه ۳-۵: شرط‌ها در Bash (if)
در این درس یاد می‌گیریم چگونه با استفاده از شرط‌ها (`if`) در اسکریپت تصمیم بگیریم؛ مثلا اگر سن کاربر بالای ۱۸ بود یک پیام خاص و در غیر این صورت پیام دیگری نمایش دهیم.
## ساختار کلی if در Bash
ساختار پایهٔ یک شرط:
```bash
if [ شرط ]
then
دستورات اگر شرط درست بود
else
دستورات اگر شرط نادرست بود
fi
```
نکته‌ها:
- `fi` همان `if` برعکس است و پایان بلوک شرطی را مشخص می‌کند.
- بین `[` و شرط و `]` باید فاصله بگذارید.
## مثال: بررسی سن کاربر
```bash
#!/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` کوچک‌تر یا مساوی
مثال:
```bash
if [ "$AGE" -lt 13 ]; then
echo "Child"
elif [ "$AGE" -lt 18 ]; then
echo "Teenager"
else
echo "Adult"
fi
```
برای مقایسهٔ رشته‌ای ساده:
- `[ "$NAME" = "Ali" ]` یا `[ "$NAME" != "Ali" ]`
## مثال: بررسی آرگومان
```bash
#!/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`) و روش‌های مختلف اجرای اسکریپت آشنا می‌شویم.