توابع (Functions)
«تابع (Function)» یک بسته دستور است. آن را یک بار می نویسی و هر زمان صدا می زنی. بنابراین کد کوتاه تر و تمیزتر می شود. مثل ساخت یک دکمه میانبر در موبایل.
تعریف تابع در بش
یک نام می دهیم، سپس پرانتز و آکولاد باز می کنیم. دستورات داخل آکولاد می آیند و در پایان آکولاد بسته می شود.
my_function() {
echo "Hello, World!"
}
نکته: نام های توصیفی بگذار. بعداً فهمیدن کار تابع آسان تر می شود.
فراخوانی تابع
برای اجرای تابع فقط نامش را بنویس. می توانی چندبار صدا بزنی و کد تکراری ننویسی.
my_function
my_function
آرگومان، متغیر محلی (local) و خروجی
«آرگومان (Argument)» ورودی تابع است. «محلی (local)» فقط داخل تابع دیده می شود. خروجی را با echo یا کد بازگشت می دهیم.
greet() {
local name=$1
echo "Hello, $name!"
}
greet "Alice"
add() {
local sum=$(($1 + $2))
echo $sum
}
result=$(add 5 3)
echo "The sum is $result"
گام های عملی
- یک نام مناسب برای تابع انتخاب کن.
- بدنه تابع را بین { و } بنویس.
- در صورت نیاز آرگومان بگیر و local استفاده کن.
- تابع را با نامش فراخوانی کن و خروجی را بخوان.
هشدار: نام تابع با نام دستورات سیستم تداخل نداشته باشد. ساده و روشن انتخاب کن.
برای تکرار کارها در تابع، از حلقه ها کمک بگیر. همچنین برای بررسی شرط ها، صفحه اگر…وگرنه را ببین.
جمع بندی سریع
- تابع، کد را قابل استفاده مجدد می کند.
- با نام تابع آن را اجرا کن.
- آرگومان ها با $1، $2 و … می آیند.
- local محدوده متغیر را محدود می کند.
- خروجی را با echo برگردان.