## 🧠 درک Shell لینوکس و نکات اولیه اسکریپتنویسی Shell (بخش اول)
### 🔹 Shell چیست؟
* Shell واسط خط فرمان (CLI) بین کاربر و هسته لینوکس است و دستورات متنی را تفسیر و اجرا میکند ([tecmint.com][1]).
* یک **جلسه (session)** از زمان ورود تا خروج از سیستم ادامه دارد .
---
### 🧮 انواع Shell رایج
* **Bash**: پیشفرض اغلب سیستمها، دارای قابلیتهای اسکریپتی پیشرفته .
* **Zsh, Fish, Dash, Ksh, Csh**: ویژگیهای متفاوتی دارند مانند تکمیل خودکار پیشرفته یا سرعت بالاتر در سیستمهای مینیمال ([tecmint.com][1]).
---
### ✨ مزیتهای استفاده از Shell Scripts
* با هزاران دستور در سیستم، بدون اسکریپتنویسی به حافظهتان فشار میآید. اسکریپتها بهعنوان فایلهای متنی اجرا میشوند و ترکیبی از این دستورات را خودکار تکرار میکنند .
---
### 🛠️ ساختار و نحوه نوشتن اولین اسکریپت
1. در فایل متنی، بالای آن بنویسید:
```bash
#!/bin/bash
```
این **Shebang** است؛ معرف مفسر script .
2\. سپس:
```bash
echo "Hello, World!"
```
3. فایل را اجراپذیر کنید:
```bash
chmod +x script.sh
./script.sh
```
این اولین اسکریپت شماست! ([reddit.com][2])
---
### 🧳 متغیرها و ورودی کاربر
* تعریف ساده متغیر:
```bash
name="Alice"
echo "Hello, $name!"
```
* دریافت ورودی:
```bash
echo "Enter your name:"
read name
```
اینها نشاندهنده پایهایترین قابلیتها هستند .
---
### 🔁 ساختارهای کنترلی در Shell
* دستور شرطی `if`:
```bash
if [ -d "$dir" ]; then
echo "Exists"
else
echo "Not exists"
fi
```
* از `for`, `while`, `case` نیز استفاده میشود
([tecmint.com][3]).
---
### 🧩 جمعبندی کاربردی
با یادگیری مقدمات زیر میتوانید:
* Shell را بشناسید و اسکریپت بنویسید.
* از متغیر و ورودی بهرهمند شوید.
* از ساختارهای کنترلی برای خودکارسازی استفاده کنید.
این مقاله پایهای است برای ورود به دنیای **اسکریپتنویسی پیشرفتهتر** در لینوکس. ([tecmint.com][1])