از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
استفاده از آرگومان اختیاری و مقدار پیش فرض در bash تابع
سرفصلهای مطلب
یک تابع جزء ضروری هر زبان برنامه نویسی است که حاوی یک بلوک کد است. یک کد یکسان را می توان چندین بار با فراخوانی یک تابع اجرا کرد و با استفاده از تابع می توان از نوشتن مکرر همان کد جلوگیری کرد. یک تابع را می توان بدون آرگومان و با آرگومان تعریف کرد. آرگومان تابع می تواند اجباری و اختیاری باشد. مقدار پیش فرض را می توان برای آرگومان the تنظیم کرد bash تابع. راه های اعلام آرگومان اختیاری و استفاده از مقادیر پیش فرض در bash تابع در این آموزش نشان داده شده است.
مثال-1: مجموع را با استفاده از آرگومان های اختیاری محاسبه کنید
روش تعریف آرگومان های اختیاری با مقادیر پیش فرض در این مثال نشان داده شده است. ایجاد یک bash فایل با اسکریپت زیر برای محاسبه مجموع دو عدد. در اسکریپت، تابعی به نام sum() حاوی دو آرگومان اختیاری با مقادیر پیش فرض است. اگر هنگام فراخوانی تابع آرگومان داده نشود، مجموع مقادیر پیش فرض محاسبه می شود. اگر هنگام فراخوانی تابع یک آرگومان داده شود، مجموع مقدار آرگومان و مقدار پیشفرض دوم محاسبه میشود. اگر در زمان فراخوانی تابع دو آرگومان داده شود، مجموع مقادیر آرگومان محاسبه خواهد شد. بعد، تابع بدون هیچ آرگومان، با یک آرگومان و با دو آرگومان فراخوانی شده است.
#اعلان تابع با آرگومان اجباری و اختیاری
مجموع تابع()
{
#مقادیر را تنظیم کنید
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
خروجی:
پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود. هنگامی که تابع بدون هیچ آرگومانی فراخوانی شد، مجموع دو مقدار پیش فرض 30 (10+20) چاپ شد. وقتی تابع با یک آرگومان فراخوانی شد، مجموع مقدار آرگومان (40) و مقدار پیش فرض دوم (20) که 60 است چاپ می شود. وقتی تابع با دو آرگومان فراخوانی شد، مجموع دو مقدار آرگومان 100 چاپ می شود. (70+30).
مثال-2: احراز هویت کاربر با استفاده از
مقادیر پیش فرض
ایجاد یک bash فایل با اسکریپت زیر برای احراز هویت کاربر با نام کاربری و رمز عبور پیش فرض زمانی که تابع بدون هیچ آرگومانی فراخوانی می شود. تابعی به نام Authenticate() حاوی دو آرگومان اختیاری با نام کاربری و رمز عبور پیشفرض است. هنگامی که این تابع بدون هیچ آرگومانی فراخوانی می شود، از مقادیر پیش فرض برای احراز هویت کاربر استفاده می شود و پیام موفقیت آمیز ورود مهمان چاپ می شود. هنگامی که این تابع با نام کاربری و رمز عبور معتبر فراخوانی شود، پیام موفقیت آمیز ورود مدیر چاپ خواهد شد. هنگامی که این تابع با نام کاربری و رمز عبور نامعتبر فراخوانی شود، پیام خطا چاپ خواهد شد.
#اعلان تابع برای احراز هویت
functionAuthenticate()
{
#مقادیر را تنظیم کنید
نام کاربری=${1:-guest}
کلمه عبور=${2:-12345}
اگر هیچ آرگومانی ارائه نشد، true را برگردانید
اگر [[ $username == ‘admin’&& $password == ‘secret’ ]]; سپس
echo “شما به عنوان مدیر وارد شده اید.”
اگر یک آرگومان داده شد، #راست را برگردانید
elif [[ $username == ‘guest’&& $password == ‘12345’ ]]; سپس
echo “شما به عنوان مهمان وارد سیستم شده اید.”
دیگر
echo “نام کاربری و رمز عبور نامعتبر است.”
فی
}
# فراخوانی تابع بدون هیچ آرگومانی
تصدیق کردن
عملکرد #تماس با نام کاربری و رمز عبور معتبر
راز مدیریت را تأیید کنید
عملکرد #تماس با نام کاربری و رمز عبور نامعتبر
فاحمیده را تصدیق کنید 1234
خروجی:
پس از اجرای اسکریپت فوق خروجی زیر ظاهر می شود.
مثال-3: پاداش را بر اساس محاسبه کنید روی مقدار پیش فرض
ایجاد یک bash فایل با اسکریپت زیر برای محاسبه پاداش بر اساس روی اگر مقدار آرگومان برای تابع داده نشود، مقدار پیشفرض است. پس از اجرای اسکریپت سه مقدار ورودی از کاربر گرفته می شود. اینها حقوق پایه، اجاره خانه و کمک هزینه پزشکی است. تابع نامگذاری شده محاسبه_حقوق() مقدار پاداش را بر اساس محاسبه خواهد کرد روی مقدار آرگومان تابع یا مقدار پیش فرض. مبلغ کل حقوق با اضافه کردن مقادیر محاسبه می شود پایه ای، اجاره، پزشکی، و پاداش مبلغ. این محاسبه_حقوق() تابع بدون آرگومان یا با آرگومان فراخوانی شده است.
#کمک هزینه اولیه، اجاره خانه و کمک هزینه پزشکی کارمند را بگیرید
echo “حقوق پایه را وارد کنید:”
خواندن پایه ای
echo “اجاره خانه را وارد کنید:”
خواندن اجاره
echo کمک هزینه پزشکی را وارد کنید:
خواندن پزشکی
#اعلام عملکرد برای محاسبه حقوق با پاداش
functioncalculate_salary()
{
#مقدار را تنظیم کنید
جایزه=${1:-5}
#محاسبه پاداش
پاداش مبلغ=$((پایه ای*جایزه/100))
#حساب کل حقوق
جمع=$((پایه + اجاره + پاداش پزشکی + مقدار))
#چاپ کل حقوق با مبلغ پاداش
echo «کل حقوق با پاداش $ % پاداش است $ مجموع“
}
عملکرد #تماس بدون درصد پاداش
محاسبه_حقوق
تابع #تماس با درصد پاداش
محاسبه_حقوق 10
خروجی:
پس از اجرای اسکریپت خروجی زیر ظاهر می شود. هنگامی که تابع بدون هیچ آرگومانی فراخوانی شده است، از مقدار پیش فرض 5 برای محاسبه مقدار پاداش بر اساس استفاده می شود روی مقدار پایه هنگامی که تابع با مقدار آرگومان 10 فراخوانی می شود، مقدار پاداش بر اساس محاسبه می شود روی این مقدار بعد، کل حقوق و دستمزد روی 5% جایزه و 10% جایزه چاپ شده است.
نتیجه:
استفاده از آرگومان های اختیاری با مقادیر پیش فرض در تابع در این آموزش با استفاده از سه مثال مختلف توضیح داده شده است. مقدار پیش فرض می تواند عددی یا رشته ای باشد. هدف از استفاده از آرگومان اختیاری با مقادیر پیشفرض در تابع برای آن پاک خواهد شد bash کاربر پس از خواندن این آموزش
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 16:23:03