فهرست سرفصل‌های Bash
خانه (Home) مقدمه (Intro) شروع به کار (Get Started) فرمان ها (Commands) فهرست فایل ها (List (ls)) تغییر پوشه (Change Dir (cd)) نمایش مسیر (Print Dir (pwd)) چاپ متن (Echo (echo)) ادغام فایل ها (Concatenate (cat)) کپی کردن (Copy (cp)) جابه جایی (Move (mv)) حذف (Remove (rm)) ساخت/به روزرسانی زمان (Timestamp (touch)) ساخت پوشه (Make Dir (mkdir)) راهنما (Manual (man)) نام مستعار (Alias) جستجوی متن (Search Text (grep)) اسکن الگو (Pattern Scan (awk)) ویرایشگر جریان (Stream Editor (sed)) برش بخش ها (Remove Section (cut)) مرتب سازی خطوط (Sort Lines (sort)) نمایش انتها (View End (tail)) نمایش ابتدا (View Start (head)) وضعیت فرایندها (Process Status (ps)) فهرست فرایندها (List Processes (top)) فضای دیسک (Disk Space (df)) مصرف پوشه ها (Directory Usage (du)) مصرف حافظه (Memory Usage (free)) پایان دادن (Terminate (kill)) زمان روشن بودن (Uptime) پینگ (Ping) انتقال URL (URL Transfer (curl)) دانلودکننده (Downloader (wget)) اتصال راه دور (Remote Connect (ssh)) کپی امن (Secure Copy (scp)) همگام سازی فایل ها (File Sync (rsync)) فشرده سازی (Compress (zip)) استخراج (Extract (unzip)) بایگانی TAR (TAR Archive) مالکیت (Ownership) تغییر مجوزها (Modify (chmod)) تغییر مالکیت (Ownership (chown)) تغییر گروه (Group (chgrp)) سینتکس (Syntax) اسکریپت (Script) متغیرها (Variables) انواع داده (Data Types) عملگرها (Operators) اگر…وگرنه (If...Else) حلقه ها (Loops) توابع (Functions) آرایه ها (Arrays) زمان بندی (Schedule (cron)) تمارین (Exercises) آزمون (Quiz) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
مستندات زبان Bash

Bash — توابع (Functions)

آخرین بروزرسانی: 1404/08/17

توابع (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"

مشاهده در ادیتور

گام های عملی

  1. یک نام مناسب برای تابع انتخاب کن.
  2. بدنه تابع را بین { و } بنویس.
  3. در صورت نیاز آرگومان بگیر و local استفاده کن.
  4. تابع را با نامش فراخوانی کن و خروجی را بخوان.

هشدار: نام تابع با نام دستورات سیستم تداخل نداشته باشد. ساده و روشن انتخاب کن.

برای تکرار کارها در تابع، از حلقه ها کمک بگیر. همچنین برای بررسی شرط ها، صفحه اگر…وگرنه را ببین.

جمع بندی سریع

  • تابع، کد را قابل استفاده مجدد می کند.
  • با نام تابع آن را اجرا کن.
  • آرگومان ها با $1، $2 و … می آیند.
  • local محدوده متغیر را محدود می کند.
  • خروجی را با echo برگردان.