درک و نوشتن توابع در اسکریپت Shell – بخش VI پرینت


## 🛠️ درک و نوشتن توابع در اسکریپت Shell – بخش VI

### 🔍 توابع چه هستند و چرا استفاده می‌کنیم؟

* **تابع** قطعه‌ای از کد است که کار خاصی را انجام می‌دهد و می‌توان آن را فراخوانی کرد تا بارها مورد استفاده قرار گیرد. توابع به بازاستفاده کد، خوانایی بهتر و تقسیم‌بندی برنامه کمک می‌کنند ([tecmint.com][1]).
* اگر بخش‌هایی از کد مانند محاسبه فاکتوریل، در جاهای مختلف لازم باشد، تابع‌نویسی به جای کپی/پیست کردن، گزینه‌ی هوشمندانه‌تری است.

---

### ✨ ساختار تعریف تابع در Bash

دو روش معمول برای نوشتن تابع:

```bash
function func_name {
commands...
}
```

یا

```bash
func_name () {
commands...
}
```

مثال ساده:

```bash
#!/bin/bash
call_echo() {
echo "This is inside function"
}

op=$1
if [ $# -ne 1 ]; then
echo "Usage: $0 <1/0>"
elif [ "$1" = "1" ]; then
call_echo
else
echo "This is outside function"
fi
exit 0
```

🔹 توجه: تابع باید قبل از اولین **فراخوانی** تعریف شود ([tecmint.com][1]).

---

### 📌 نکات مهم درباره توابع

* امکان **تودرتو بودن تابع‌ها** وجود دارد.
* اگر تابع چندبار تعریف شود، نسخه‌ی **آخر اجرا می‌شود** .

---

### 🎯 پارامترها و بازگشت مقدار

#### پارامتر ورودی:

برای ارسال آرگومان به تابع:

```bash
func_name $arg1 $arg2
```

داخل تابع با `$1`, `$2` و … قابل دسترسی هستند ([tecmint.com][1]).

#### بازگشت مقدار:

برای بازگرداندن عدد کبود حالت (0–255) از `return` استفاده می‌شود:

```bash
func_name() {
local ret=5
return $ret
}
```

---

## ✅ جمع‌بندی

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

 


آیا این پاسخ به شما کمک کرد؟

  • 0
« برگشت