## 🧭 بخش سوم: سفر در دنیای Bash Scripting لینوکس – پروژههای عملی
### ۱. آشنایی با کلیدواژههای Bash
`if`, `else`, `fi`, `for`, `while`, `do`, `done`, `case`, `{`, `}`, `[[` و غیره، جزء واژههای کلیدی Bash هستند؛ برای ساختار کنترل جریان ضروریاند. اگر از این واژهها بهعنوان نام متغیر استفاده شود، خوانایی اسکریپت پایین میآید اما Bash آن را ممکن میسازد ([tecmint.com][1]).
برای اجرا، از `$(command)` استفاده کنید، مانند: `$(/bin/date)` و پیدا کردن مسیرها با `whereis date` ([tecmint.com][1]).
---
### ۲. اسکریپت `up.sh` – جابهجایی به دایرکتوری والد
```bash
#!/bin/bash
LEVEL=$1
CDIR="."
for ((i=1; i<=LEVEL; i++)); do
CDIR="../$CDIR"
done
cd "$CDIR" || exit
echo "You are in: $PWD"
exec /bin/bash
```
اجرای آن به صورت `./up.sh 2` باعث میشود که دو سطح بالاتر بروید ([tecmint.com][1]).
---
### ۳. اسکریپت `Randomfile.sh` – ایجاد فایل یا پوشه با timestamp
```bash
#!/bin/bash
echo "Hello $USER"
echo "$(uptime)" >> "$(date).txt"
echo "Your File is being saved to $(pwd)"
```
نتیجه: یک فایل با نام زمان فعلی ایجاد میشود که از تکرار جلوگیری میکند ([tecmint.com][1]).
---
### ۴. اسکریپت `collectnetworkinfo.sh` – جمعآوری اطلاعات شبکه
این اسکریپت دادههایی مانند IP، پورتهای باز، پردازشها و وضعیت شبکه را جمعآوری و در یک فایل ذخیره میکند. مفید برای ارسال گزارش یا عیبیابی .
---
### ۵. اسکریپت `Convertlowercase.sh` – تبدیل فایل به حروف کوچک
```bash
#!/bin/bash
echo -n "Enter File Name : "
read fileName
if [ ! -f $fileName ]; then
echo "Filename $fileName does not exists"
exit 1
fi
tr '[A-Z]' '[a-z]' < "$fileName" >> small.txt
```
این اسکریپت محتوای فایل را به حروف کوچک تبدیل کرده و خروجی را ذخیره میکند ([tecmint.com][1]).
---
### ۶. اسکریپت `Simplecalc.sh` – ماشینحساب ساده در Bash
با منوی کاربر:
```bash
#! /bin/bash
clear
i="y"
while [ "$i" = "y" ]; do
echo "Enter first no."
read n1
echo "Enter second no."
read n2
echo "1.Addition"
echo "2.Subtraction"
...
read ch
case $ch in
1) sum=`expr $n1 + $n2`; echo "Sum = $sum";;
...
*) echo "Invalid choice";;
esac
echo "Do u want to continue (y/n)?"
read i
done
```
یک ابزار ساده برای انجام عملیات محاسباتی ([wiley-vch.de][2], [tecmint.com][1]).
---
## ✨ جمعبندی بخش III
* در این بخش با **واژههای کلیدی Bash** آشنا شدید.
* پروژههایی ساده اما کاربردی مانند **جابجایی دایرکتوری، تولید فایل با تاریخ، جمعآوری دادههای شبکه، تبدیل حروف، و محاسبهگر تعاملی** را ساختید.
* این ابزارها مهارت شما در فایلها، ورودی/خروجی، شرطها و حلقهها را تقویت میکند.