وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

استفاده از آرگومان اختیاری و مقدار پیش فرض در bash تابع

0 5
زمان لازم برای مطالعه: 4 دقیقه


یک تابع جزء ضروری هر زبان برنامه نویسی است که حاوی یک بلوک کد است. یک کد یکسان را می توان چندین بار با فراخوانی یک تابع اجرا کرد و با استفاده از تابع می توان از نوشتن مکرر همان کد جلوگیری کرد. یک تابع را می توان بدون آرگومان و با آرگومان تعریف کرد. آرگومان تابع می تواند اجباری و اختیاری باشد. مقدار پیش فرض را می توان برای آرگومان the تنظیم کرد bash تابع. راه های اعلام آرگومان اختیاری و استفاده از مقادیر پیش فرض در bash تابع در این آموزش نشان داده شده است.

مثال-1: مجموع را با استفاده از آرگومان های اختیاری محاسبه کنید

روش تعریف آرگومان های اختیاری با مقادیر پیش فرض در این مثال نشان داده شده است. ایجاد یک bash فایل با اسکریپت زیر برای محاسبه مجموع دو عدد. در اسکریپت، تابعی به نام sum() حاوی دو آرگومان اختیاری با مقادیر پیش فرض است. اگر هنگام فراخوانی تابع آرگومان داده نشود، مجموع مقادیر پیش فرض محاسبه می شود. اگر هنگام فراخوانی تابع یک آرگومان داده شود، مجموع مقدار آرگومان و مقدار پیش‌فرض دوم محاسبه می‌شود. اگر در زمان فراخوانی تابع دو آرگومان داده شود، مجموع مقادیر آرگومان محاسبه خواهد شد. بعد، تابع بدون هیچ آرگومان، با یک آرگومان و با دو آرگومان فراخوانی شده است.

#!/صندوقچه/bash
#اعلان تابع با آرگومان اجباری و اختیاری

مجموع تابع()
{

#مقادیر را تنظیم کنید

num1=${1:-10}

num2=${2:-20}

اگر هیچ آرگومانی ارائه نشد، true را برگردانید

اگر [ $# -lt1 ]; سپس

echo مقادیر آرگومان اختیاری عبارتند از: $num1، $num2

اگر یک آرگومان داده شد، #راست را برگردانید

elif [ $# -lt2 ]; سپس

#افزودن خط جدید

echo

echo “مقدار آرگومان اختیاری این است: $num2

دیگر

#افزودن خط جدید

echo

echo “هیچ استدلال اختیاری وجود ندارد.”

num1=1 دلار

num2=2 دلار

فی

#مجموع دو عدد را محاسبه کنید

مجموع=$((num1+num2))

echo “مجموع $num1 و $num2 است $ مجموع
}

# فراخوانی تابع بدون هیچ آرگومانی
مجموع
# فراخوانی تابع با یک آرگومان
مجموع 40
# فراخوانی تابع با دو آرگومان
مجموع 70 30

پیشنهاد می‌کنیم بخوانید:  روش استفاده از دیکشنری ارزش کلیدی در Bash

خروجی:

پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود. هنگامی که تابع بدون هیچ آرگومانی فراخوانی شد، مجموع دو مقدار پیش فرض 30 (10+20) چاپ شد. وقتی تابع با یک آرگومان فراخوانی شد، مجموع مقدار آرگومان (40) و مقدار پیش فرض دوم (20) که 60 است چاپ می شود. وقتی تابع با دو آرگومان فراخوانی شد، مجموع دو مقدار آرگومان 100 چاپ می شود. (70+30).

استفاده از آرگومان اختیاری و مقدار پیش فرض در bash تابع

مثال-2: احراز هویت کاربر با استفاده از

مقادیر پیش فرض

ایجاد یک bash فایل با اسکریپت زیر برای احراز هویت کاربر با نام کاربری و رمز عبور پیش فرض زمانی که تابع بدون هیچ آرگومانی فراخوانی می شود. تابعی به نام Authenticate() حاوی دو آرگومان اختیاری با نام کاربری و رمز عبور پیش‌فرض است. هنگامی که این تابع بدون هیچ آرگومانی فراخوانی می شود، از مقادیر پیش فرض برای احراز هویت کاربر استفاده می شود و پیام موفقیت آمیز ورود مهمان چاپ می شود. هنگامی که این تابع با نام کاربری و رمز عبور معتبر فراخوانی شود، پیام موفقیت آمیز ورود مدیر چاپ خواهد شد. هنگامی که این تابع با نام کاربری و رمز عبور نامعتبر فراخوانی شود، پیام خطا چاپ خواهد شد.

#!/صندوقچه/bash
#اعلان تابع برای احراز هویت

functionAuthenticate()
{

#مقادیر را تنظیم کنید

نام کاربری=${1:-guest}

کلمه عبور=${2:-12345}

اگر هیچ آرگومانی ارائه نشد، true را برگردانید

اگر [[ $username == ‘admin’&& $password == ‘secret’ ]]; سپس

echo “شما به عنوان مدیر وارد شده اید.”

اگر یک آرگومان داده شد، #راست را برگردانید

elif [[ $username == ‘guest’&& $password == ‘12345’ ]]; سپس

echo “شما به عنوان مهمان وارد سیستم شده اید.”

دیگر

echo “نام کاربری و رمز عبور نامعتبر است.”

فی

}

# فراخوانی تابع بدون هیچ آرگومانی

تصدیق کردن
عملکرد #تماس با نام کاربری و رمز عبور معتبر

راز مدیریت را تأیید کنید
عملکرد #تماس با نام کاربری و رمز عبور نامعتبر

فاحمیده را تصدیق کنید 1234

خروجی:

پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود.

استفاده از آرگومان اختیاری و مقدار پیش فرض در bash تابعاستفاده از آرگومان اختیاری و مقدار پیش فرض در bash تابع

مثال-3: پاداش را بر اساس محاسبه کنید روی مقدار پیش فرض

ایجاد یک bash فایل با اسکریپت زیر برای محاسبه پاداش بر اساس روی اگر مقدار آرگومان برای تابع داده نشود، مقدار پیش‌فرض است. پس از اجرای اسکریپت سه مقدار ورودی از کاربر گرفته می شود. اینها حقوق پایه، اجاره خانه و کمک هزینه پزشکی است. تابع نامگذاری شده محاسبه_حقوق() مقدار پاداش را بر اساس محاسبه خواهد کرد روی مقدار آرگومان تابع یا مقدار پیش فرض. مبلغ کل حقوق با اضافه کردن مقادیر محاسبه می شود پایه ای، اجاره، پزشکی، و پاداش مبلغ. این محاسبه_حقوق() تابع بدون آرگومان یا با آرگومان فراخوانی شده است.

#!/صندوقچه/bash

پیشنهاد می‌کنیم بخوانید:  اسکریپت های شل – چه چیزی را می توانید تغییر دهید

#کمک هزینه اولیه، اجاره خانه و کمک هزینه پزشکی کارمند را بگیرید
echo “حقوق پایه را وارد کنید:”
خواندن پایه ای
echo “اجاره خانه را وارد کنید:”
خواندن اجاره
echo کمک هزینه پزشکی را وارد کنید:
خواندن پزشکی

#اعلام عملکرد برای محاسبه حقوق با پاداش

functioncalculate_salary()
{

#مقدار را تنظیم کنید

جایزه=${1:-5}

#محاسبه پاداش

پاداش مبلغ=$((پایه ای*جایزه/100))

#حساب کل حقوق

جمع=$((پایه + اجاره + پاداش پزشکی + مقدار))

#چاپ کل حقوق با مبلغ پاداش

echo «کل حقوق با پاداش $ % پاداش است $ مجموع
}

عملکرد #تماس بدون درصد پاداش

محاسبه_حقوق
تابع #تماس با درصد پاداش

محاسبه_حقوق 10

خروجی:

پس از اجرای اسکریپت خروجی زیر ظاهر می شود. هنگامی که تابع بدون هیچ آرگومانی فراخوانی شده است، از مقدار پیش فرض 5 برای محاسبه مقدار پاداش بر اساس استفاده می شود روی مقدار پایه هنگامی که تابع با مقدار آرگومان 10 فراخوانی می شود، مقدار پاداش بر اساس محاسبه می شود روی این مقدار بعد، کل حقوق و دستمزد روی 5% جایزه و 10% جایزه چاپ شده است.

استفاده از آرگومان اختیاری و مقدار پیش فرض در bash تابعاستفاده از آرگومان اختیاری و مقدار پیش فرض در bash تابع

نتیجه:

استفاده از آرگومان های اختیاری با مقادیر پیش فرض در تابع در این آموزش با استفاده از سه مثال مختلف توضیح داده شده است. مقدار پیش فرض می تواند عددی یا رشته ای باشد. هدف از استفاده از آرگومان اختیاری با مقادیر پیش‌فرض در تابع برای آن پاک خواهد شد bash کاربر پس از خواندن این آموزش

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-30 16:23:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید