Shell Script چیست؟
اسکریپت نویسی پوسته شامل نوشتن یک سری دستورات در یک فایل متنی ساده است که اغلب به عنوان شل اسکریپت شناخته می شود. این اسکریپت ها توسط یک پوسته، که یک مفسر خط فرمان است، اجرا می شوند. رایج ترین پوسته ها عبارتند از
- Bash (پوسته Bourne Again)
- Zsh (Z Shell)
- ماهی.
اسکریپتهای شل میتوانند از برنامههای تک خطی ساده تا برنامههای پیچیده متغیر باشند و برای انجام کارهای مختلف مانند دستکاری فایل، مدیریت سیستم و اتوماسیون کارهای تکراری استفاده میشوند.
مزایای Shell Scripting:
اتوماسیون: اسکریپت های شل به کاربران اجازه می دهند کارهای تکراری را خودکار کنند، در زمان صرفه جویی کرده و احتمال خطای انسانی را کاهش می دهند.
** سفارشی سازی: ** کاربران می توانند اسکریپت هایی را متناسب با نیازهای خاص خود ایجاد کنند و درجه بالایی از سفارشی سازی را ارائه دهند.
** پردازش دسته ای: ** اسکریپت های پوسته برای انجام وظایف پردازش دسته ای عالی هستند، جایی که چندین دستور باید به ترتیب اجرا شوند.
مدیریت سیستم: اسکریپت های شل معمولاً برای کارهای مدیریت سیستم، مانند پشتیبان گیری، چرخش گزارش و نصب نرم افزار استفاده می شوند.
نوشتن یک اسکریپت ساده پوسته:
بیایید یک اسکریپت پوسته اولیه ایجاد کنیم که یک پیام تبریک چاپ می کند. یک ویرایشگر متن باز کنید و فایلی به نام «greeting.sh» ایجاد کنید. خطوط زیر را اضافه کنید:
#!/bin/bash
# This is a simple shell script
echo "Hello, welcome to the world of shell scripting!"
فایل را ذخیره کرده و با اجرای دستور زیر در ترمینال آن را قابل اجرا کنید:
chmod +x greeting.sh
اکنون می توانید اسکریپت را اجرا کنید:
./greeting.sh
خروجی باید این باشد:
Hello, welcome to the world of shell scripting!
اجرای اسکریپت های شل در اوبونتو و لینوکس:
اکنون، چگونگی اجرای فایل .sh در اوبونتو و لینوکس را مورد بحث قرار خواهیم داد.
اسکریپت را اجرایی کنید: قبل از اجرای یک اسکریپت پوسته، از قابل اجرا بودن آن اطمینان حاصل کنید. همانطور که قبلا نشان داده شده است از دستور ‘chmod’ استفاده کنید.
به فهرست راهنمای اسکریپت بروید: یک ترمینال را باز کنید و از دستور cd برای رفتن به دایرکتوری حاوی اسکریپت پوسته خود استفاده کنید.
اسکریپت را اجرا کنید: اسکریپت را با تایپ ./scriptname.sh در ترمینال اجرا کنید و نام واقعی اسکریپت خود را جایگزین scriptname کنید.
cd path/to/script
./greeting.sh
- استفاده از فرمان Bash: اگر اسکریپت شما با «#!/bin/bash» (معروف به shebang) شروع میشود، میتوانید آن را با استفاده از دستور «bash» نیز اجرا کنید.
bash greeting.sh
$@ در Shell Script به چه معناست؟
در اسکریپت پوسته، $@
نشان دهنده تمام آرگومان های خط فرمان است که به اسکریپت ارسال می شود. اغلب برای ارجاع به لیست آرگومان ها به عنوان موجودیت های جداگانه استفاده می شود. هنگامی که در داخل گیومههای دوگانه استفاده میشود، مانند «$@»، آرگومانهای فردی را حفظ میکند، فضاها و کاراکترهای ویژه را در نظر میگیرد.
در اینجا توضیح مختصری وجود دارد:
$@
: نشان دهنده تمام پارامترهای موقعیتی (آگومان ها) ارسال شده به اسکریپت یا تابع است. هر استدلال به عنوان یک کلمه جداگانه در نظر گرفته می شود.$@
: هنگامی که دوبار نقل قول می شود، جداسازی آرگومان ها را حفظ می کند و اجازه می دهد فاصله ها یا کاراکترهای ویژه در آرگومان های جداگانه وجود داشته باشد.
در اینجا یک مثال ساده برای توضیح وجود دارد:
#!/bin/bash
# Save this script as example.sh
echo "The total number of arguments is: $#"
echo "The arguments are: $@"
echo "The arguments with double quotes are: \"$@\""
وقتی این اسکریپت را با آرگومان اجرا می کنید، به عنوان مثال:
bash example.sh arg1 "argument 2" arg3
خروجی می داد:
The total number of arguments is: 3
The arguments are: arg1 argument 2 arg3
The arguments with double quotes are: "arg1" "argument 2" "arg3"
همانطور که می بینید، «$@» همه آرگومان ها را نشان می دهد، و «$@»» آرگومان های فردی را حفظ می کند، حتی اگر دارای فاصله باشند.